【问题标题】:Group by aggregate in R在 R 中按聚合分组
【发布时间】:2013-11-11 06:47:28
【问题描述】:

我有一个包含以下数据的 CSV 文件:

ID       Name     Batch      Marks     Grade
1          A       2010       43         C 
2          B       2011       88         A
3          C       2011       89         A
4          D       2010       47         C
5          E       2011       82         A

使用 R 语言,我需要对各个批次的学生的分数进行汇总。 在 R 中不再提供 Rollup 函数时,我可以使用什么?我真的不知道如何开始。请帮忙。

【问题讨论】:

  • 你检查函数aggregate了吗?
  • Package slam 从 3.0.2 版本开始已经过时了。
  • 这不是rollup操作

标签: r dataframe group-by


【解决方案1】:

聚合在这里是个不错的选择。

with(nameOfYourDataFrame, aggregate(X=Marks, by=list(Batch), FUN=sum))

聚合采用三个参数:

X:连续变量,以及传递给函数的内容,FUN

:一个或多个离散变量(又名因子),其值决定了函数 FUN 评估的“分区”

FUN:传递连续变量 X 并为参数传入的每个离散变量的每个值(或级别)计算一个结果的函数 by em>

从上下文中不确定您想到的是什么汇总功能;在任何情况下,如果它不是 sum,那么任何内置的,例如 mean 或用户定义的 fn 都将起作用

Hmisc包中的summarize函数是做同样事情的另一个函数。

【讨论】:

  • 即使我对汇总函数是否正确也感到困惑。聚合工作得很好。谢谢
【解决方案2】:

多列聚合

V1 <- aggregate(V[,4:5], by = list(V$DESCRIPTION), sum)

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 2014-05-29
    • 1970-01-01
    • 2015-11-19
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多