R中数据框中列的条件分组
Conditional grouping in column in data frame in R
我有一个看起来像这样的数据框
其中 b 的值范围为 1:31 和 alpha_1,alpha_2 和 alpha_3 只能有值 0 和 1。对于每个 b 值,我有 1000 个观察值所以总共有 31000 个观察结果。我想按 b 对整个数据集进行分组,并且只想在其值为 1 时计算 alpha 列的值。因此最终结果将有 31 个观察值(来自 1:31 的唯一 b 值)和 alpha 值的计数1.
我如何在 R 中执行此操作。我尝试在 dplyr 中使用管道方法,但似乎没有任何效果。
我们可以使用
library(dplyr)
df1 %>%
group_by(b) %>%
summarise_at(vars(starts_with("alpha")), sum)
我有一个看起来像这样的数据框
其中 b 的值范围为 1:31 和 alpha_1,alpha_2 和 alpha_3 只能有值 0 和 1。对于每个 b 值,我有 1000 个观察值所以总共有 31000 个观察结果。我想按 b 对整个数据集进行分组,并且只想在其值为 1 时计算 alpha 列的值。因此最终结果将有 31 个观察值(来自 1:31 的唯一 b 值)和 alpha 值的计数1.
我如何在 R 中执行此操作。我尝试在 dplyr 中使用管道方法,但似乎没有任何效果。
我们可以使用
library(dplyr)
df1 %>%
group_by(b) %>%
summarise_at(vars(starts_with("alpha")), sum)