r - R 中的分组和聚合

标签 r grouping aggregate bins

我有类似 (a,b,c) 的数据

a b c
1 2 1
2 3 1
9 2 2
1 6 2

其中“a”范围被分为 n(比如 3)个相等的部分,聚合函数计算 b 值(比如最大值)并按“c”分组。

所以输出看起来像

a_bin  b_m(c=1) b_m(c=2)
1-3     3          6
4-6     NaN        NaN
7-9     NaN        2

这是MxN,其中M=a的数量,N=唯一的c个样本或所有范围

我该如何处理这个问题?有 R 包可以帮助我吗?

最佳答案

聚合剪切 reshape 的组合似乎有效

df <- data.frame(a = c(1,2,9,1),
                 b = c(2,3,2,6),
                 c = c(1,1,2,2))

breaks <- c(0, 3, 6, 9)

# Aggregate data
ag <- aggregate(df$b, FUN=max,
                by=list(a=cut(df$a, breaks, include.lowest=T), c=df$c))

# Reshape data
res <- reshape(ag, idvar="a", timevar="c", direction="wide")

关于r - R 中的分组和聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24350113/

相关文章:

sorting - Kusto 按计数排序

django - 如何使用 max(date) 值过滤查询

r - 网格中的多个传单

r - 我的分组横杆不躲避,而我的箱形图却躲避

mysql - 跨列按 id 分组

mysql - 多对多MySQL表中的计数和多重分组

mysql - 聚合MySQL中两个表之间的数据

r - 在 R 中组合/合并列

r - 在 R 中读取 XML 时编码丢失

kendo-ui - 如何为 Kendo 网格设置初始分组