【发布时间】:2013-12-22 12:11:01
【问题描述】:
我正在尝试构建一个应用程序,我可以在其中选择数据文件 (input$dataset),然后添加一个新的 datetime 列,格式化日期和时间之前的列以使用 ggplot2 进行绘图。
我使用以前在批处理脚本和 Rstudio 中工作的“内部”。但现在我收到此错误消息:
没有适用于类对象的“内部”方法 “反应性”
如何将此方法应用于响应式对象?我应该使用另一个命令吗?绑定? ddply?
datos=reactive({
read.csv(input$dataset,header=T,sep=";",na.strings="-99.900")
within(datos, datetime <- as.POSIXct(paste(FECHA,H_SOLAR),format = "%y/%m/%d %H:%M:%S"))
})
提前致谢
编辑:
按照下面的答案,我了解无法修改响应式源,例如在数据框中添加一列。关键是我想以这种方式使用 ggplot(改编旧的 R 脚本):
p=ggplot(datos(),aes_string(x="datetime", y=input$var,colour="as.character(stat_id)")) +
geom_line()
}
那么,我应该如何将日期时间添加到 datos?也许将 datos2 创建为合并 datos 和 datetime 的新反应源?
编辑 2 将完整代码添加到 github https://github.com/pacomet/git
【问题讨论】:
-
你试过没有
within吗?所以只是datetime <- as.POSIXct(paste(datos$FECHA,datos$H_SOLAR),format = "%y/%m/%d %H:%M:%S"))? -
嗨,我只使用了旧脚本中的命令,我还想用数据框保存新日期。我会试一试。谢谢。
标签: r shiny shiny-server