Excel /表DATEVALUE(" 2015-08-11")等效于R

时间:2015-08-22 02:17:15

标签: r

在Excel或Google表格中,我可以使用DATEVALUE("2015-08-11")函数将日期转换为自1900年1月1日以来的天数。

我怎样才能在R?

中这样做

1 个答案:

答案 0 :(得分:1)

感谢akrun给了我一个以R菜鸟开场的地方。

默认情况下,R转换日期为1970-01-01,因此我需要添加1900-01-01和1970-01-01之间的日期。然后,为了完全匹配excel,我需要添加两个: +1 leap year bug/feature和+1,因为1970-01-01那天没有在任何地方计算。

#get number of days since 1970-01-01
a = as.numeric(as.Date('2015-08-11')) 

# get number of day from 1970 to 1900. This will be negative, so subtract it later
b = as.numeric(as.Date('1900-01-01'))

#numeric representation matching Excel and Sheets:
c = a - b + 2

也许那里有一个更优雅的解决方案?