我正在制作一款应用程序,用Shiny分析时间序列数据。 我使用的数据如下:
V1 V2
1 2013-02-04 18:15:00 -4.746
2 2013-02-04 18:20:00 -4.745
3 2013-02-04 18:25:00 -4.746
4 2013-02-04 18:30:00 -4.747
5 2013-02-04 18:35:00 -4.747
6 2013-02-04 18:40:00 -4.747
我想在表格中绘制数据:
output$view <- renderTable({
head(datasubset(),
n=nrow(datasubset()))
})
这样做我在运行Shiny时遇到错误:
Error in Math.POSIXt(x + ifelse(x == 0, 1, 0)) :
'abs' not defined for "POSIXt" objects
有没有人有这个错误的解决方案?
更新:错误是由xtable引起的: renderTable使用xtable()生成输出,看起来xtable与日期一般不能很好地匹配。
Winston Chang在此提出了一个问题:https://github.com/rstudio/shiny/issues/129
可在以下位置找到解决方法:R: xtable and dates
答案 0 :(得分:1)
查看基础包中的strftime函数。 Strftime将POSIXt对象格式化为字符,并允许您指定格式。
你可以在打印表格之前做这样的事情:
datasubset$V1 <- strftime(datasubset$V1, format="%Y-%m-%d %H:%M:%S")
答案 1 :(得分:1)
希望这会有所帮助 -
output$$view <- DT::renderDataTable({
DataFrame<<-read.xlsx(inFile$datapath, 1 )
datatable(DataFrame)%>%
formatDate(2, method = 'toISOString')
return(DataFrame)
})
在这里,您可以在主面板中绘制数据框“DataFrame”,也可以使用它 应用程序中的数据框,以便使用
进一步计算/修改return(DataFrame)