【问题标题】:Insert missing rows in a dataframe based in values criteria根据值标准在数据框中插入缺失的行
【发布时间】:2019-11-15 16:11:59
【问题描述】:

给定这样的数据框

country      rest         count
Argentina    pizza        26
Argentina    asador       22
Brazil       feijoada     52
Brazil       pizza        67
Germany      pizza        22
Germany      biergarten   52
Germany      kebab        20

假设我们希望“rest”列中的所有唯一值都表示为与数据框中的国家/地区一样多的行,即使它们没有值。我想要的输出如下所示:

country      rest         count
Argentina    pizza        26
Argentina    asador       22
Argentina    feijoada     0
Argentina    biergarten   0
Argentina    kebab        0
Brazil       pizza        67
Brazil       feijoada     52
Brazil       asador       0
Brazil       biergarten   0
Brazil       kebab        0
Germany      pizza        22
Germany      biergarten   52
Germany      kebab        20
Germany      asador       0
Germany      feijoada     0

有没有什么简单的方法可以通过 dplyr 达到这个输出?

【问题讨论】:

    标签: r dplyr tidyr


    【解决方案1】:
    tidyr::complete(dat, country, rest, fill=list(count=0))
    # # A tibble: 15 x 3
    #    country   rest       count
    #    <chr>     <chr>      <dbl>
    #  1 Argentina asador        22
    #  2 Argentina biergarten     0
    #  3 Argentina feijoada       0
    #  4 Argentina kebab          0
    #  5 Argentina pizza         26
    #  6 Brazil    asador         0
    #  7 Brazil    biergarten     0
    #  8 Brazil    feijoada      52
    #  9 Brazil    kebab          0
    # 10 Brazil    pizza         67
    # 11 Germany   asador         0
    # 12 Germany   biergarten    52
    # 13 Germany   feijoada       0
    # 14 Germany   kebab         20
    # 15 Germany   pizza         22
    

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 2016-01-05
      • 2019-01-25
      • 1970-01-01
      相关资源
      最近更新 更多