我尝试将字符变量更改为类 Date 的变量,然后将其更改为该月的最后一天。
data %>% mutate("Month"= as.Date(paste(Month,"-01",sep=""))) -> data
data$Month <- paste(format(data$Month, format="%Y-%m"),"-", days_in_month(data$Month), sep="")
这在通过控制台运行时有效,但是当我尝试编织到 pdf 时我得到
<块引用>days_in_month(data$Month) 中的错误: 找不到函数“days_in_month” 调用: ... withCallingHandlers -> withVisible -> eval -> eval -> paste 另外: 警告信息: 在 has_crop_tools() 中: 工具未安装或不在 PATH 中:ghostcript -> 结果,图形裁剪将被禁用。 执行停止
我想保留 as.Date 和 days_in_month() 但我不确定我做错了什么,是否可以将第二行代码加入第一行?
答案 0 :(得分:0)
尝试添加:
library(lubridate)
在该命令之前的某个块中。它应该可以工作。
答案 1 :(得分:0)
if (!require("pacman")) install.packages("pacman")
pacman::p_load(tidyverse, lubridate)
data <- tribble( ~ id, ~ Month,
1, "2020-04",
2, "2020-05",
3, "2020-12")
data %>%
mutate(Month = ymd(paste0(Month, "-01")),
Month = Month + days(days_in_month(Month) - 1))
#> # A tibble: 3 x 2
#> id Month
#> <dbl> <date>
#> 1 1 2020-04-30
#> 2 2 2020-05-31
#> 3 3 2020-12-31