如何在R中将数据框的数字格式列名转换为实际日期?
将Excel日期序列号列名转换为实际日期
这些列名里的数字是Excel日期序列号(以1900年为起始的日期计数方式),完全可以转换为实际日期,以下是具体实现代码:
# 提取除Model外的列名(即需要转换的数字列名) target_cols <- colnames(data)[-1] # 转换序列号为日期,并格式化为YYYY-MM-DD格式 formatted_dates <- format( as.Date(as.numeric(target_cols), origin = "1899-12-30"), "%Y-%m-%d" ) # 替换原数据框的列名 colnames(data)[-1] <- formatted_dates
补充说明
- 这里用
origin = "1899-12-30"是因为Excel的1900日期系统存在一个闰年bug,实际计数起点比显示的1900-01-01早两天。 - 如果你的Excel文件使用的是1904日期系统(旧版Mac Excel),请将origin改为
"1904-01-01"。
运行完代码后,你的数据框列名将变成易读的日期格式,比如44865会转为2022-12-31,44895转为2023-01-30,44926转为2023-03-01。
内容的提问来源于stack exchange,提问作者Tanga94
相关产品推荐
相关产品推荐

