【问题标题】:R fill missing dates by categoryR按类别填充缺失的日期
【发布时间】:2020-03-17 14:43:33
【问题描述】:
x<-data.frame(product=c(rep("A",3),rep("B",4)),
          xdate=as.Date(c("2020-01-01","2020-01-02","2020-01-04",'2020-01-02','2020-01-04','2020-01-07','2020-01-08')),
          number=sample(1:10,7))

在示例数据中,我想按类别填写缺失的日期。在样本数据中,这意味着 对于 A 类,我希望它的最小日期 2020-01-01 和最大日期 '2020-01-04 之间的所有缺失日期 和 B 类的相同逻辑。我知道功能完整,但它似乎不足以满足我的需求。并且number变量应该填0s

【问题讨论】:

  • 您好 tomas hujo,您的示例中没有遗漏日期。 “我希望在最短日期 2020-01-01 和最长日期 2020-01-04 之间的所有缺失日期......”要填充哪个变量是什么意思? 0 ?
  • 如果你能举一个想要的结果的例子,那会有所帮助。
  • 您好,我的意思是像 A 类的 2020-01-03 那样隐式丢失。但下面的答案解决了它

标签: r tidyr


【解决方案1】:

我们也可以在这里使用complete

library(dplyr)
library(tidyr)

x %>%
  group_by(product) %>%
  complete(xdate = seq(min(xdate), max(xdate), by = "1 day"), fill = list(number = 0))

【讨论】:

  • ouu group by :))
猜你喜欢
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
相关资源
最近更新 更多