如何在 R 中用月份和 NA 值填充数据帧

How to fill dataframe in R with months and NA values

提问人:JohnBones JohnBones 提问时间:11/8/2022 更新时间:11/8/2022 访问量:55

问:

这是我的数据帧:

df <- structure(list(month_date = structure(c(19117, 19149, 19180, 
19212, 19244, 19275), class = "Date"), Values = c(9693, 10227, 
10742, 11672, 10565, 10080)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

我需要将列month_date增加到“2023-12-01”,并带有“NA”值。

输出应为“2023-12-01”之前的月份,并在“值”列上填充从“2022-11-01”开始的“NA”值。

我该怎么做?

r

评论


答:

2赞 akrun 11/8/2022 #1
library(tidyr)
complete(df, month_date = seq(min(month_date), as.Date("2023-12-01"), 
      by = '1 day'))
2赞 Hansel Palencia 11/8/2022 #2

如果出于某种原因您不想使用,也可以创建一个单独的 dataframe/tibbletidyr()

add <- data.frame(month_date = seq.Date(as.Date("2022-11-01"), as.Date("2023-12-01"), by = "month"), Values = NA)

final <- rbind(df, add)