如何在R中转换年,月,日和日期?
我知道人们可以通过字符串来做到这一点,但我宁愿避免转换为字符串,部分是因为可能会有性能损失?部分是因为我担心区域化问题,世界上有些人使用"年 - 月 - 日" "有些人使用"年 - 月 - 月".
看起来ISODate提供方向年,月,日 - > DateTime,虽然它首先将数字转换为字符串,所以如果有一种方法不通过字符串,那么我更喜欢.
从日期时间到数值,我找不到任何其他方面的东西?我宁愿不需要使用strsplit或类似的东西.
编辑:为了清楚,我所拥有的是一个数据框,看起来像:
year month day hour somevalue
2004 1 1 1 1515353
2004 1 1 2 3513535
....
Run Code Online (Sandbox Code Playgroud)
我希望能够自由转换为这种格式:
time(hour units) somevalue
1 1515353
2 3513535
....
Run Code Online (Sandbox Code Playgroud)
......还能再次回去.
编辑:清除一些关于'时间'(小时单位)意味着什么的混淆,最终我做了什么,并使用如何找到R中两个小时之间的差异的信息?:
前进方向:
lh$time <- as.numeric( difftime(ISOdate(lh$year,lh$month,lh$day,lh$hour), ISOdate(2004,1,1,0), units="hours"))
lh$year <- NULL; lh$month <- NULL; lh$day <- NULL; lh$hour <- NULL
Run Code Online (Sandbox Code Playgroud)
向后方向:
......好吧,我还没做倒退,但我想象的是:
我想在将来,我可以问我正在尝试解决的确切问题,但我试图将我的具体问题分解为通用的可重用问题,但也许这是一个错误?