我在将数据框列从读取txt文件的任何格式转换为日期格式时遇到问题。
movie_df <- read.csv("scary_movies.txt",
stringsAsFactors = FALSE,
na.strings = c("NA", ""),
sep = "\t")
这就是我们读取文件的方式。
有一个称为ReleaseDate的列,其日期格式为:1931年2月12日。如何将其更改为1931/2/12。
如果我使用strptime(),则该列显示为NA。
答案 0 :(得分:1)
一种选择是将Date
转换为as.Date
类,然后format
转换为所需格式
movie_df$ReleaseDate <- format(as.Date(movie_df$ReleaseDate,
"%B %d, %Y"), '%Y/%m/%d')
带有可复制的示例
format(as.Date('February 12, 1931', "%B %d, %Y"), '%Y/%m/%d')
#[1] "1931/02/12"
如果需要删除天/月中的前导0,则
sub("^(\\d{4})-0?(\\d{1,2})-0?(\\d{1,2})$", "\\1/\\2/\\3",
as.Date('February 12, 1931', "%B %d, %Y"))
#[1] "1931/2/12"