我正在尝试更改从CSV文件导入的日期格式。date列的类是因子,但是当我想要使用"as.Date“函数时,它会提示我字符串格式不正确。
> New_His_data$BirthDate[1]
[1] 36473
1378 Levels: 13-1-1990 13-1-1991 13-10-1959 13-10-1973 13-10-1979 13-10-1988 13-10-1989 13-10-1994 13-11-1963 13-11-1970 ... 36473
> as.Date(New_His_data$BirthDate[1],origin = "1899-12-30")
Error in charToDate(x) :
character string is not in a standard unambiguous format
> as.Date(strptime(New_His_data$BirthDate[1],"%d-%m-%Y"),origin ="1899-12-30")
[1] NA当我使用值作为数字时,它可以正常工作
> as.Date(36473,origin = "1899-12-30")
[1] "1999-11-09"我试着找到一些关于这个问题的帖子,但我什么也找不到,请给我一个解决方案或一个解决方案的链接谢谢
发布于 2018-05-06 04:36:02
我可以解决这个问题,只需两次将数据类型从date转换为string再到number,然后使用"as.Date“函数更改格式。
> New_His_data$BirthDate[1]
[1] 36473
1378 Levels: 13-1-1990 13-1-1991 13-10-1959 13-10-1973 13-10-1979 13-10-1988 13-10-1989 13-10-1994 13-11-1963 13-11-1970 ... 36473
> as.Date(New_His_data$BirthDate[1],origin = "1899-12-30")
Error in charToDate(x) :
character string is not in a standard unambiguous format
> as.Date(strptime(New_His_data$BirthDate[1],"%d-%m-%Y"),origin ="1899-12-30")
[1] NA
> as.Date(as.numeric(as.character(New_His_data$BirthDate[1])),origin = "1899-12-30")
[1] "1999-11-09"https://stackoverflow.com/questions/50193518
复制相似问题