我正在尝试使用SendMailR发送数据帧.我可以将它作为附件发送,格式相当合理.但是,我想在电子邮件正文中发送数据帧.我尝试了capture.output,print,sprintf,但我甚至无法将格式关闭.
例如,我尝试了以下语法
for (i in 1:nrow(df)){
MSG = c(MSG,rownames(df)[1],as.character(unlist(df[i,])),'\n')
}
MSG = sprintf('%-10s',MSG)
sendmail(from,to,subject,msg = list(MSG,attachment1,attachment2 ... ))
Run Code Online (Sandbox Code Playgroud)
换句话说,我认为可能需要将我的数据帧转换为带有/ n和sprintf('s-10%')等的格式并将其存储在MSG中.有人能指出我正确的方向吗?
我正在尝试用日期颜色做散点图.目前我正在做以下事情,但即使图形看起来像我想要的方式,我仍然无法找到一种方法来获取图例的可读格式.我尝试将它们格式化为20140101,但整年都在一个小范围内,即<20141231,并且我在一年内没有得到不同的颜色.
data(cars)
cars['dt'] = seq(Sys.Date(),Sys.Date()-980,-20)
ggplot(cars,aes(speed,dist,colour = as.integer(dt))) + geom_point(alpha = 0.6) +
scale_colour_gradientn(colours=c('red','green','blue'))
Run Code Online (Sandbox Code Playgroud)
有人可以推荐一个解决方案吗?具体来说,我希望每个日期都是不同颜色/颜色的阴影.(对于我的实际数据,我有大约5 - 6年的每日数据)

我正在按照
使用变量列 和 dplyr进行dplyr mutate-mutate:使用动态变量名
在mutate中使用动态名称。我要做的是按受最小标准偏差限制的组对列数据进行标准化。每列都有不同的最小标准偏差
例如(为方便起见,我省略了循环和映射语句)
require(dplyr)
require(magrittr)
data(iris)
iris <- tbl_df(iris)
minsd <- c('Sepal.Length' = 0.8)
varname <- 'Sepal.Length'
iris %>% group_by(Species) %>% mutate(!!varname := mean(pluck(iris,varname),na.rm=T)/max(sd(pluck(iris,varname)),minsd[varname]))
Run Code Online (Sandbox Code Playgroud)
我按照参考答案的建议进行了动态分配和变量选择。但是不尊重group_by(),至少对我来说,这是在此处使用dplyr的主要好处
所需的答案由
iris %>% group_by(Species) %>% mutate(!!varname := mean(Sepal.Length,na.rm=T)/max(sd(Sepal.Length),minsd[varname]))
Run Code Online (Sandbox Code Playgroud)
有没有解决的办法?
我是R和mySQL的新手,想在R中运行以下mysql命令
query = "select x, y from table where z in ('a', 'b');"
sqlQuery(connection, query)
Run Code Online (Sandbox Code Playgroud)
假设我有一个很长的可变长度向量.有可能吗?
vector = c('a','b', .....)
query = "select x, y from table where z in **vector**;"
Run Code Online (Sandbox Code Playgroud)
我试过了
query = paste("select x, y from table where z in (", paste(vector, collapse =', '), ");")
Run Code Online (Sandbox Code Playgroud)
但我在括号中丢失了引号而且我得到了
query = "select x, y from table where z in (a, b);"
Run Code Online (Sandbox Code Playgroud)
它不在sqlQuery中运行.有没有办法使用粘贴命令,以便我得到一串字符串?或者有更好的方法来完成我想要完成的任务吗?
我希望使用下面的简化代码作为示例,清楚地了解 Shiny 的反应行为。
当 y 在应用程序中更新时,图表也会更新。
当 x 在应用程序中更新时,图表不会更新。
我已经阅读了 Shiny 的教程,我的理解是,鉴于我已将 test() 和plot() 函数包装在observeEvent 中,这两个参数不应导致图表在更改时更新。
有人可以帮忙解释一下这背后的逻辑吗?
library(shiny)
test <- function(x){x*2}
shinyServer(function(input, output, session) {
observeEvent(input$run, {
x = test(input$x)
output$distPlot <- renderPlot({
if(input$y){
x = x+2
}
plot(x)
})
})
})
shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
numericInput("x", "x:", 10),
checkboxInput("y", label = "y", value = FALSE),
actionButton("run", "run")
),
mainPanel(
plotOutput("distPlot")
)
)
))
Run Code Online (Sandbox Code Playgroud) 我正在尝试清理一些数据,并希望用上一个日期的值替换零.我希望以下代码有效,但事实并非如此
temp = c(1,2,4,5,0,0,6,7)
temp[which(temp==0)]=temp[which(temp==0)-1]
Run Code Online (Sandbox Code Playgroud)
回报
1 2 4 5 5 0 6 7
Run Code Online (Sandbox Code Playgroud)
代替
1 2 4 5 5 5 6 7
Run Code Online (Sandbox Code Playgroud)
这是我希望的.在没有循环的情况下有没有一种很好的方法呢?
我已经在 R 中生成了一个 csv 文件,并希望我的脚本在 Excel 中打开此文件,以便不了解 R 的人可以修改数据。(理想情况下,当我运行脚本时,excel 打开并加载该文件)。实现这一目标的最佳方法是什么?
我有一个数据帧列表x,我想找到数据帧中每个元素的平均值.我在Dimitris Rizopoulos网上礼貌地找到了一个优雅的解决方案.
x.mean = Reduce("+", x) / length(x)
Run Code Online (Sandbox Code Playgroud)
但是,当数据帧包含NA时,这并不真正起作用.有没有一个很好的方法来实现这一目标?