在 R 中,如何根据一列的值对所有其他列求和,而不指定列名?

Posted

技术标签:

【中文标题】在 R 中,如何根据一列的值对所有其他列求和,而不指定列名?【英文标题】:In R, how to sum all other columns based on value of one column, without specifying column names? 【发布时间】:2020-02-06 02:01:10 【问题描述】:

我有 401 列。第 401 列代表 PIN 代码。我想根据 pin 码添加所有其他 400 列。我可以在不必指定所有 400 个列名的情况下执行此操作吗?

【问题讨论】:

【参考方案1】:

我们可以做一个group_bysum。使用dplyr,将“PINCODE”作为分组变量传递,并应用sumsummarise_all,得到数据中剩余所有其他列的总和

library(dplyr)
df1 %>%
    group_by(PINCODE) %>%
    summarise_all(sum)

或者使用aggregate 来自base R

aggregate(.~ PINCODE, df1, sum)

【讨论】:

以上是关于在 R 中,如何根据一列的值对所有其他列求和,而不指定列名?的主要内容,如果未能解决你的问题,请参考以下文章

Excel中如何根据某一列的值对整行进行颜色填充?

根据 r 中的其他列对一个列表中的一列的所有值进行分组

如何使一个材料表列的编辑模式字段类型依赖于另一列的值,而不影响其他行?

如何根据R中小标题中另一列指示的列的值添加列

R语言选择特定的行,对某一列排序

使用 dplyr 根据列值对 R 中的值求和