R语言中将14位时间字符串转换为日期变量与独立时间列的方法
R处理时间字符串拆分日期时间列操作方法
方法1:使用lubridate包(推荐,写法更简洁不易出错)
- 第一步:安装并加载lubridate包
install.packages("lubridate") library(lubridate)
- 第二步:解析原始时间字符串为日期时间类型
假设你导入后的数据集名为df,存储原始时间字符串的列名为raw_time,执行如下代码:
df$datetime <- ymd_hms(df$raw_time)
该函数会自动识别%Y%m%d%H%M%S格式的字符串,转换为R内置的日期时间类型。
- 第三步:拆分出独立的日期列和时间列
# 生成日期列,格式为YYYY-MM-DD df$date <- as.Date(df$datetime) # 生成时间列,格式为HH:MM:SS df$time <- format(df$datetime, "%H:%M:%S")
方法2:使用Base R原生函数(无需安装额外包)
直接用原生的strptime函数解析即可,后续拆分步骤和上述一致:
# 解析原始时间字符串 df$datetime <- strptime(df$raw_time, format = "%Y%m%d%H%M%S") # 拆分日期和时间列 df$date <- as.Date(df$datetime) df$time <- format(df$datetime, "%H:%M:%S")
测试样例
你可以用单条样例测试效果:
raw_time <- "20140929120000" # 用lubridate测试 datetime <- ymd_hms(raw_time) print(as.Date(datetime)) # 输出 "2014-09-29" print(format(datetime, "%H:%M:%S")) # 输出 "12:00:00"
内容的提问来源于stack exchange,提问作者Frost
相关产品推荐
相关产品推荐

