将Excel SS导入R会将日期更改为单元格编号

时间:2016-03-28 20:18:54

标签: r excel

我有一个电子表格,其中一列是日期。将SS导入R时,大多数列都具有正确的信息,但日期列具有行号而不是日期。我使用的是openxlsx。知道问题是什么吗?

2 个答案:

答案 0 :(得分:0)

尝试使用readxl包加载您的数据。加载非常快,并以正确的格式保存大多数数据。否则,您可以尝试XLConnect更慢但更通用。

答案 1 :(得分:0)

这有可能发生这种情况吗?

as.numeric(as.Date("29.3.2016", format = "%d.%m.%Y"))
[1] 16889

如果是,那就对此感到惊讶。

diff(as.Date(c("29.3.2016", "1.1.1970"), format = "%d.%m.%Y"))
Time difference of -16889 days

发生了什么事?每个日期都有一个原点,默认情况下它设置为1970年1月1日那美好的一天。如果你强制给数字一个日期,结果就是原点之间的差异。了解R handles dates

的方式