R:找到缺失的数据并将其添加为零

时间:2018-04-27 09:35:19

标签: r sorting

我有以下数据集:

enter image description here

黄色的行是良好情况的一个例子,因为对于Vaer = B,Var2 = F和Var2 = G都存在freq值。

但是,红色的行是坏情况的示例,因为第3行(其中Var2 = F在日期07.02.2018处具有频率值但是在同一日期我没有Var2 = G的值。

另一方面,第27行为红色,我在04:02:2018时有Var2 = G的频率值,但我在同一天没有Var2 = F的频率值。

我需要的是: 对于所有类型的Var1(A,B,..)和每个Var2(F,G)如果varq存在于Var2 = F但不存在于Var2 = G中,则创建Var2 = G freq = 0在同一天。< / p>

对于Var2 = G,同样必须是mabe,其中Var2 = F不存在。

你能否告诉我如何在R中做到这一点?

1 个答案:

答案 0 :(得分:0)

你的解释对我来说有点神秘,但我猜你对所有群体都有统计意义,但是你需要将它们用于所有排列,即使没有观察结果(因此将freq填入0) 。您可以使用tidyr::complete

df <- data.frame(Var1 = c("A", "A", "B", "B", "B"),
                 Var2 = c("F", "G", "F", "G", "F"),
                 freq = c(2L, 3L, 1L, 5L, 3L),
                 date = as.Date(c("2018-04-27", "2018-04-28", "2018-04-27", "2018-04-28", "2018-04-29")))
tidyr::complete(data = df, Var1, Var2, date, fill = list(freq = 0L))