使用 as.Date 更改 r 中的日期格式
Change date format in r with as.Date
我得到了一个大数据集,其中一列是因子格式的日期。
我想将其更改为日期格式,并使用 as.Date
ID <- c(1,2,3,4,5)
dates <- as.factor(c('20OCT2008:00:00:00', '18NOV2008:00:00:00', '05JUN2009:00:00:00', '03MAY2009:00:00:00', '10APR2009:00:00:00'))
df <- data.frame(ID, dates)
df$dates = as.Date(df$dates, format='%d%b%Y:%H:%M:%S')
df
ID dates
1 1 <NA>
2 2 2008-11-18
3 3 2009-06-05
4 4 <NA>
5 5 2009-04-10
但是,只有一些日期发生了变化,而其余日期则为 NA。
关于如何成功转换所有日期或为什么我的 NA 出现的任何想法?
谢谢!
这可能是由于您在系统上使用的区域设置(语言)所致。是英文还是别的?你可以通过以下方式解决这个问题:
Sys.getlocale()
如果不是英文,您可能需要将其设置为英文和运行相同的命令:
Sys.setlocale(locale = "en_US")
在某些情况下,如果您是从电子表格导入,则可能是日期前后一些白色 space 的问题...trimws()
可用于去除白色 space 在字符串的开头或结尾。
我得到了一个大数据集,其中一列是因子格式的日期。 我想将其更改为日期格式,并使用 as.Date
ID <- c(1,2,3,4,5)
dates <- as.factor(c('20OCT2008:00:00:00', '18NOV2008:00:00:00', '05JUN2009:00:00:00', '03MAY2009:00:00:00', '10APR2009:00:00:00'))
df <- data.frame(ID, dates)
df$dates = as.Date(df$dates, format='%d%b%Y:%H:%M:%S')
df
ID dates
1 1 <NA>
2 2 2008-11-18
3 3 2009-06-05
4 4 <NA>
5 5 2009-04-10
但是,只有一些日期发生了变化,而其余日期则为 NA。 关于如何成功转换所有日期或为什么我的 NA 出现的任何想法?
谢谢!
这可能是由于您在系统上使用的区域设置(语言)所致。是英文还是别的?你可以通过以下方式解决这个问题:
Sys.getlocale()
如果不是英文,您可能需要将其设置为英文和运行相同的命令:
Sys.setlocale(locale = "en_US")
在某些情况下,如果您是从电子表格导入,则可能是日期前后一些白色 space 的问题...trimws()
可用于去除白色 space 在字符串的开头或结尾。