R-转换每小时数据,单位为%d/%m/%Y%H:%m“;格式设置为";%d/%m/%Y%H:%m:%S“;使用as.Date时,as.POSIXct不工作
我有以下数据帧R-转换每小时数据,单位为%d/%m/%Y%H:%m“;格式设置为";%d/%m/%Y%H:%m:%S“;使用as.Date时,as.POSIXct不工作,r,dataframe,datetime,timezone,R,Dataframe,Datetime,Timezone,我有以下数据帧df: timestamp ave.temperature min.temperature max.temperature 1/10/2017 0:00 27.20604 25.50000 28.54444 1/10/2017 1:00 27.24487 25.70000 28.60682 1/10/2017 2:00 27.26597 25.60667 28.76333 1/10
df
:
timestamp ave.temperature min.temperature max.temperature
1/10/2017 0:00 27.20604 25.50000 28.54444
1/10/2017 1:00 27.24487 25.70000 28.60682
1/10/2017 2:00 27.26597 25.60667 28.76333
1/10/2017 3:00 27.16104 25.60000 28.32833
我想将时间戳
列转换为以下格式:
timestamp ave.temperature min.temperature max.temperature
1/10/2017 00:00:00 27.20604 25.50000 28.54444
1/10/2017 01:00:00 27.24487 25.70000 28.60682
1/10/2017 02:00:00 27.26597 25.60667 28.76333
1/10/2017 03:00:00 27.16104 25.60000 28.32833
到目前为止,我已经尝试了
df$timestampOk。。我想我可能把事情搞砸了,但我刚刚发现以下方法是有效的:
as.POSIXct(df$timestamp, format="%d/%m/%Y %H:%M")
因此,df
成为
timestamp ave.temperature min.temperature max.temperature
1/10/2017 00:00:00 27.20604 25.50000 28.54444
1/10/2017 01:00:00 27.24487 25.70000 28.60682
1/10/2017 02:00:00 27.26597 25.60667 28.76333
1/10/2017 03:00:00 27.16104 25.60000 28.32833
如所愿。在这一点上,我仍然不明白为什么同样的方法不适用于as.Date
。我现在不会接受我的回答,我欢迎任何有助于澄清为什么df$timestamp这也有效as.Date(“2017年10月1日0:00),%d/%m/%Y%H:%m”)
<代码>截止日期
将仅返回日期。你的问题是什么?@Ronaksahas.Date(“2017年10月1日0:00”,%d/%m/%Y%H:%m”)
返回的“2017-10-01”
,这不是我最初想要的(请参阅上面问题中的第二个数据帧)。所需的日期格式为“2017-10-01 00:00:00”
。无论如何,我相信您已经回答了我关于as.Date
属性的第二个问题。谢谢是的,如果您需要日期,请使用as.Date
,如果您需要日期时间,请使用as.POSIXct
或strtime
@RonakShah谢谢您的提示:)我会记下。
as.POSIXct(df$timestamp, format="%d/%m/%Y %H:%M")
timestamp ave.temperature min.temperature max.temperature
1/10/2017 00:00:00 27.20604 25.50000 28.54444
1/10/2017 01:00:00 27.24487 25.70000 28.60682
1/10/2017 02:00:00 27.26597 25.60667 28.76333
1/10/2017 03:00:00 27.16104 25.60000 28.32833