R语言转换日期时间为日期时日期列出现NA值的问题
解决R语言日期时间转换为日期时出现NA的问题
问题根源:你的日期时间格式是
4/12/2016 0:00,但使用的format参数与实际格式不匹配:- 实际时间部分是24小时制的
0:00(仅小时和分钟,无秒、无AM/PM标识) - 你用的
%I:%M:%S %p是12小时制带秒和上午/下午标识的格式,完全不符合输入数据,导致转换失败生成NA
- 实际时间部分是24小时制的
修正后的代码:
sleep_day <- sleep_day %>% rename(date = sleepday) %>% mutate(date = as.Date(date, format = "%m/%d/%Y %H:%M"))
- 额外说明:
%H对应24小时制的小时(00-23),%M对应分钟(00-59),完美匹配0:00的格式- 如果数据中还有其他时间格式变种,可尝试用
lubridate包的自动识别函数简化操作:
library(lubridate) sleep_day <- sleep_day %>% rename(date = sleepday) %>% mutate(date = as.Date(mdy_hm(date)))
内容的提问来源于stack exchange,提问作者adaobi nwachukwu
相关产品推荐
相关产品推荐

