在R中利用date列与hour列创建Datetime对象(优先用lubridate)
使用lubridate合并日期与数值小时列生成datetime类型
假设你的数据集名为df,包含date(date类型)和hour(数值型)两列,可以用lubridate包快速完成合并:
- 加载依赖包
library(lubridate)
- 生成datetime列
# 若date列是日/月/年格式(如示例中的01/01/2021) df$datetime <- dmy(df$date) + hours(df$hour) # 若date列是年/月/日格式,替换为ymd() # df$datetime <- ymd(df$date) + hours(df$hour)
代码说明
dmy()/ymd():将date列解析为lubridate标准日期对象,适配对应日期格式hours():把数值型小时转换为可直接与日期相加的时长对象- 日期与时长相加后自动生成POSIXct类型的datetime列
如果小时列存在非整数情况,可先转为整数避免异常:
df$datetime <- dmy(df$date) + hours(as.integer(df$hour))
内容的提问来源于stack exchange,提问作者Cla FM
相关产品推荐
相关产品推荐

