R-Shiny不会让我转换序列日期

时间:2018-08-27 13:39:15

标签: r date shiny

我在Shiny中有一个数据框,其中的月份和年份具有单独的列。我一直试图将其转换为日期对象。

yearData=2013
monthData=1
dateData = ymd(paste(yearData, monthData, "01", sep="-")

如果我在R控制台(01-01-2013)中运行它,它将返回正确的日期对象,但是当我在Shiny中运行相同的代码时,由于某种原因,它会将其转换为序列日期(15706)。我试图解决此问题:

#This converts the serial date to a character string in the date format, 
#"2013/01/01"
dateData2 = format(as.Date(dateData, origin = "1970-01-01"), "%Y/%m/%d") 

#This then converts it back to a proper date object
dateData3 = as.Date(dateData2)

同样,如果我在R控制台中尝试此操作,则将序列日期转换为日期对象没有问题。但是,当我在Shiny中运行它时,它将再次将dateData3转换回一个序列日期。

Here's a screenshot of what Shiny is returning when I run that same code

有人对我可以尝试将Shiny中的序列日期转换为日期对象的其他方法有任何建议吗?

1 个答案:

答案 0 :(得分:0)

听起来好像是在渲染表格时转换了日期对象。

dateData4 <- as.character(dateData3)

这是在呈现表格或将其写入csv之前要做的事情。