Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将字符日期(1931年2月12日)转换为日期格式(Y、m、d)_R - Fatal编程技术网

R 如何将字符日期(1931年2月12日)转换为日期格式(Y、m、d)

R 如何将字符日期(1931年2月12日)转换为日期格式(Y、m、d),r,R,我在将数据帧列从读取txt文件的任何格式转换为日期格式时遇到问题 movie_df <- read.csv("scary_movies.txt", stringsAsFactors = FALSE, na.strings = c("NA", ""), sep = "\t") 这就是我们读取文件的方式 有一个名为ReleaseDate的列,其日期格式为:1931年2

我在将数据帧列从读取txt文件的任何格式转换为日期格式时遇到问题

movie_df <- read.csv("scary_movies.txt",
                     stringsAsFactors = FALSE,
                     na.strings = c("NA", ""),
                     sep = "\t")
这就是我们读取文件的方式

有一个名为ReleaseDate的列,其日期格式为:1931年2月12日。我怎么能把它改成1931/2/12


如果我使用strtime,该列将显示为NA。

一个选项是使用as.Date转换为Date类,并将其格式化为所需格式

movie_df$ReleaseDate <- format(as.Date(movie_df$ReleaseDate,
        "%B %d, %Y"), '%Y/%m/%d')
如果需要删除天/月的前导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"

不熟悉R。看看这两个链接中的任何一个是否有帮助,以及…可能的重复
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"