【发布时间】:2019-10-09 23:23:21
【问题描述】:
当我想在 R Shiny 中使用 dygraph 绘制图形时,我遇到了无效原子向量的问题。输入可以通过 SelectInput 选择,文件以 CSV 格式保存在我的目录中。这基本上是我试图使其工作的 UI 和服务器之间的连接。
我已经阅读了答案,我知道这是 R 的一个错误,它没有很好地标记,这就是为什么我还没有弄清楚如何解决它的原因。
ui <- dashboardPage(
fluidPage(
fluidRow(
column(3,
"sidebar",
fluidPage(
wellPanel(height =500),
box(selectInput("period", "Choose Year:",
c("2006" = "2006",
"2007" = "2007",
"2008" = "2008",
"2009" = "2009"
)),
width=NULL),
wellPanel(height =300)
)
),
column (9,
"main",
fluidPage(
wellPanel(width = "100%", height = "100%",
dygraphOutput("PerYear")
)
)
)
)
server <- function(input, output, session) {
output$PerYear <- renderDygraph({
reading_csv <- function (year) {
csvpath <- "./xts_folder/"
y <-read.csv(paste0(csvpath,year,"_RW.csv"),header=TRUE, sep=",")
ytime <- mdy_hm(y[["timestampUTC"]], tz="UTC")
y_xts <- xts(y, order.by = ytime)
ts.sn.year<-dygraph(y_xts)%>% dyRangeSelector()
return(ts.sn.year)
}
if(input$period == "2006" ){
y<-2006
pyear<-reading_csv(year = y)
pyear
}
else if(input$period == "2007" ){
y<-2007
pyear<-reading_csv( year = y)
pyear
}
else if(input$period == "2008" ){
y<-2008
pyear<-reading_csv(year=y)
pyear
}
else if(input$period == "2009" ){
y<-2009
pyear<-reading_csv(year=y)
pyear
}
}
)
}
也许有一些错误,因为我删除了其余的代码,但主要部分是 dygraph 的渲染和输出的连接。 CSV 文件可能如下所示:
timestampUTC,max
1/1/2006 0:50,0.7
1/1/2006 1:50,6.4
1/1/2006 2:50,7.5
1/1/2006 3:50,0.3
1/1/2006 4:50,0
1/1/2006 5:50,0.2
1/1/2006 6:50,0.7
1/1/2006 7:50,1.5
1/1/2006 8:50,0.5
1/1/2006 9:50,0.4
1/1/2006 10:50,0.3
1/1/2006 11:50,1.6
1/1/2006 12:50,0.7
1/1/2006 13:50,1.6
1/1/2006 14:50,0.6
1/1/2006 15:50,0.2
1/1/2006 16:50,0.4
1/1/2006 17:50,0.7
例如,从代码中可以看出,它们以相同的名称格式存储:2006_RW、2007_RW 等。
非常感谢任何帮助或一瞥,我已经尝试了很多东西。谢谢!!!
【问题讨论】: