在 R 中创建布尔值的聚合

  • 本文关键字:布尔值 创建 r boolean
  • 更新时间 :
  • 英文 :


我对R很陌生,我有一个数据帧,其中包含四年的数据,我正在尝试创建平均值。我遇到的问题是最后一列是一个布尔的 True/False 列,我想基本上对该列中的值进行"投票"并获得多数(因为在投票被拆分的情况下有 4 年的数据,例如 2 个真和 2 个假我想默认为 true(。

df = new,ID 是 ctfips,所以我想对 4 年中的每个 ctfips 进行 MinorityTract 的投票。(我的数据中没有缺失值(

ctfips    year    avgpm    avg_income  ...  MinorityTract  
1   10001040100 2011    9.158084    70055    ...    FALSE
2   10001040100 2012    8.883191    74211    ...    FALSE
3   10001040100 2013    8.712092    71141    ...    FALSE
4   10001040100 2014    8.974976    61270    ...    TRUE
5   10001040201 2011    9.178633    54770    ...    TRUE
6   10001040201 2012    8.877811    49288    ...    TRUE

我试过了

new %>% group_by(ctfips) %>% sum(new$MinorityTract)

我理解为什么这不起作用,但我无法找到解决这个问题的正确方法。

任何协助将不胜感激。

尝试使用summarise作为管道中的最终步骤:

library(dplyr)
new %>%
group_by(ctfips) %>% 
summarise(vote = sum(MinorityTract))

实际上,对布尔列求和并没有错,这应该已经给出了正确的总和。

我们可以使用base R中的aggregate

aggregate(MinorityTract ~ ctfips, new, sum)

最新更新