我有这个df
Date;count
2014-10-15;1
2014-12-01;1
2015-01-14;1
2015-03-15;1
2015-07-20;1
2015-10-15;1
2016-01-02;1
2016-01-03;1
2016-02-15;1
2016-04-15;1日期的格式为%Y-%m-%d,我使用dplyr包创建了另一个仅包含月份和年份的列。这个新列包含字符形式的正确数据,因此我添加了一个新命令来转换此列:
df<-df %>%
mutate(monthyear = format(Date, "%m-%Y")) %>%
mutate_at(vars(monthyear), as.Date, format = "%m-%Y")事实证明,monthyear列的输出是NA。我尝试将此列转换为factor,然后再将其转换为date,NA继续。我也试过了
df<-df %>%
mutate(monthyear = format(Date, "%m-%Y"))然后运行以下命令
df$monthyear <- as.Date(df$monthyear, format = "%m-%Y")或
df$monthyear <- as.Date(paste0("1/", df$monthyear), format = "%d/%m/%Y")在所有情况下,我的输出在所有行中都是NA。
发布于 2021-09-29 19:28:22
它不会转换为Date类,除非我们拥有所有的三个组件,即日、月和年。当我们执行monthyear时,它失去了“天”部分。如果我们需要重新转换,必须添加一天
df %>%
mutate(monthyear = format(Date, "%m-%Y")) %>%
mutate_at(vars(monthyear), ~ as.Date(paste0("1-", .x), format = "%d-%m-%Y")))https://stackoverflow.com/questions/69382331
复制相似问题