从started_at列提取日期至date新列时出现日期格式错误求助
日期提取错误的解决办法
- 问题根源:
as.Date()默认只认年-月-日格式,你的started_at列是月/日/年(比如4/1/2019对应4月1日2019年),不指定格式的话会被误解析。 - 正确代码写法:
要是你的started_at是字符串类型,直接用带格式参数的as.Date()转换:
要是# 假设你的数据框名为df df$date <- as.Date(df$started_at, format = "%m/%d/%Y")started_at已经是日期类型但显示格式不对,用format()调整显示样式:df$date <- format(df$started_at, format = "%m/%d/%Y") - 为啥之前会得到
0004-01-20?
没指定格式时,as.Date()会把4/1/2019错当成年/月/日——把4当成年份,1当成月份,2019的前两位20当日期,自然就得出了错误的远古日期。 - 验证步骤:
转换完跑一行head(df[c("started_at", "date")]),就能直接对比前几行的日期是否匹配了。
内容的提问来源于stack exchange,提问作者Ahmad Nawaz
相关产品推荐
相关产品推荐

