我有一个数据集,其中日期在三列中给出:年、月、日。我想将其转换为标准的 R 日期格式(即自 1970 年 1 月 1 日以来的天数)。现在我有这个:
date <- as.Date(paste(year,month,day, sep="-"))
但是我想知道这是否是正确的方法/是否有更有效的方法。
该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
这几乎是执行此操作的标准方法。实际上,如果您查看代码,ISOdatetime
您会发现它使用了类似的算法。