[英]How do I aggregate data in a R dataframe
我有一个 dataframe 看起来像
Col A | Col B | Col C
1 2 3
2 4 5
3 1 3
4 2 3
我想改变我的 dataframe 以基于 col A 中的组聚合 Col B 和 Col C。col A 组是 <= 2 和 >2。
Col A | Col B | Col C
<=2 6 8
>2 3 6
我将如何 go 这样做?
您可以尝试aggregate
+ ifelse
,如下所示
aggregate(
. ~ ColA,
transform(
df,
ColA = ifelse(ColA <= 2, "<=2", ">2")
), sum
)
这使
ColA ColB ColC
1 <=2 6 8
2 >2 3 6
data.table
选项
> setDT(df)[, lapply(.SD, sum), .(ColA = ifelse(ColA <= 2, "<=2", ">2"))]
ColA ColB ColC
1: <=2 6 8
2: >2 3 6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.