2

我有一个数据集,其中日期在三列中给出:年、月、日。我想将其转换为标准的 R 日期格式(即自 1970 年 1 月 1 日以来的天数)。现在我有这个:

date <- as.Date(paste(year,month,day, sep="-"))

但是我想知道这是否是正确的方法/是否有更有效的方法。

4

2 回答 2

6

as.Date函数将日期表示为自 1970 年 1 月 1 日以来的数。Unix 时间是指自 1970 年 1 月 1 日以来的秒数。您需要使用该as.POSIXct函数,然后将其转换为数字对象:

as.double(as.Date(paste(year, month, day, sep="-"))) # days since 1970-1-1
as.double(as.POSIXct(as.Date(paste(year, month, day, sep="-")))) # seconds since 1970-1-1
于 2012-12-02T13:40:25.290 回答
2

这几乎是执行此操作的标准方法。实际上,如果您查看代码,ISOdatetime您会发现它使用了类似的算法。

于 2012-12-02T14:50:21.200 回答