R:如何在条件下汇总行?

时间:2019-06-20 15:58:48

标签: r dplyr

我正在尝试汇总小于12的变量Schulbildung,并汇总n的值。我尝试使用aggregate()函数,但是没有用。有人知道吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

使用mutate和ifelse语句重新编码每个小于12的值。 然后使用dplyr进行汇总。

 df <- data.frame(
      Education = c(18, 16, 15, 12, 10, 8),
      entries = c(200, 100, 50, 50, 10 ,5)
    )

您说教育是分组变量,所以这不是原始的data.frame,对吧?

df %>%
  ungroup() %>%
  mutate(Education = ifelse(Education < 12, "others", Education)) %>%
  group_by(Education) %>%
  summarise(entries = sum(entries))