R语言如何将日期与时间变量合并为同一变量存入数据框
合并日期时间变量存入数据框的解决方法
错误原因
- 你编写的代码未达到预期的核心原因是使用了无分隔符拼接函数
paste0:拼接后生成的字符串为2017-08-2108:40这类缺少日期和时间之间空格的格式,as.POSIXct无法正确匹配格式,仅能识别到日期部分,最终仅显示日期。 - 你已经测试过可以在控制台输出正确结果的代码逻辑是正确的,只需要将运算结果直接赋值给数据框的新列即可完成存储。
实现代码
基础R实现(无需额外依赖包)
# 将运算结果直接赋值给数据框的Combined列 data$Combined <- as.POSIXct(paste(data$Date, data$Time), format="%Y-%m-%d %H:%M")
简便实现(使用lubridate包)
处理时间数据较多的场景下推荐使用lubridate包简化代码,无需手动指定匹配格式:
# 首次使用需先安装包:install.packages("lubridate") library(lubridate) data$Combined <- ymd_hm(paste(data$Date, data$Time))
补充说明:如果你使用的是tibble格式数据集,预览时可能会默认省略时间部分仅展示日期,可运行
print(data$Combined)或者str(data)查看该列的实际存储内容,确认时间信息是否正确写入。
内容的提问来源于stack exchange,提问作者Espejito
相关产品推荐
相关产品推荐

