【发布时间】:2021-11-20 17:40:03
【问题描述】:
我有一些数据,其中最后一列有日期(从最初存储它们的文件名中提取),并且出于所有意图和目的看起来像这样:
Person <- c("Person A", "Person B", "Person C", "Person A", "Person B", "Person C")
School <- c("School A", "School B", "School C", "School D", "School E", "School F" )
Date <- c("Aug 2019", "Oct 2019","Sep 2019","Nov 2019","Dec 2019","Jul 2019")
df <- data.frame(Person, School, Date)
日期来自文件名,我将文件名添加为列,然后使用以下内容提取日期值,如上例所示。
mutate(Date = substr(File, 44, 51))
从这一点开始,我需要将其从字符“2019 年 8 月”转换为任何格式的日期,这样我就可以创建一些时间序列,无论如何我只会在 X 轴上使用月/日,并且没有天数据中指定的,都是月/年。
当我使用它解析它时,我可以看到 R 将它识别为日期
parse_date_time(data3$Date, orders = c("bY"))
它给出了结果
> parse_date_time(df$Date, orders = c("bY"))
[1] "2019-08-01 UTC" "2019-10-01 UTC" "2019-09-01 UTC" "2019-11-01 UTC" "2019-12-01 UTC" "2019-07-01 UTC"
不幸的是,我在将这些放入 R 中的表格时画了一个空白,我得到的最远的是以下,mutate 行是我用来从文件名中提取日期的行。
df2 <- head(df, 4) %>%
mutate(Date = substr(Date, 10, 18)) %>%
replace(df2$Date, parse_date_time(df2$Date, orders = c("bY")))
但是它正在创建新列而不是替换右列中的日期。我也尝试使用 mutate 而不是 replace ,但这似乎没有任何作用。
感谢您对此提出的任何建议。
【问题讨论】: