dplyr group by:添加空组

时间:2018-03-20 21:48:36

标签: r dplyr data-cleaning

我目前正在尝试使用dplyr和逐个城市来获得满足多个标准的观察计数。例如:

datacount.by.city <- data %>% 
group_by(city) %>% 
filter(cond1 == TRUE | cond2 == TRUE) %>% 
tally()

我将此条件附加到现有数据框架中,这些数据框架的城市数量超过这些数据中包含的数量。有没有办法在此代码中group_by(city)为我的主数据框中的城市添加NA值,而不是在我正在处理的数据中添加NA值,因此我可以轻松地对其进行cbind并拥有正确的数字列在正确的位置?

1 个答案:

答案 0 :(得分:0)

如果您的完整数据集是df,例如:

data <- df %>%
    subset(city=="A")

datacount.by.city <- data %>% 
   ddply(.(city),summarize,count=sum(cond1 == TRUE | cond2 == TRUE)) %>%
   right_join(df,by="city")

给出:

     city count cond1 cond2
1    A     1  TRUE  TRUE
2    B    NA  TRUE  TRUE
3    C    NA  TRUE  TRUE