内容简介:翻译自:https://stackoverflow.com/questions/32325858/r-table-function-how-to-sum-instead-of-counting
参见英文答案 > How to sum a variable by group? 10个
假设我在R表中有数据,如下所示:
Id Name Price sales Profit Month Category Mode 1 A 2 5 8 1 X K 1 A 2 6 9 2 X K 1 A 2 5 8 3 X K 1 B 2 4 6 1 Y L 1 B 2 3 4 2 Y L 1 B 2 5 7 3 Y L 2 C 2 5 11 1 X M 2 C 2 5 11 2 X L 2 C 2 5 11 3 X K 2 D 2 8 10 1 Y M 2 D 2 8 10 2 Y K 2 D 2 5 7 3 Y K 3 E 2 5 9 1 Y M 3 E 2 5 9 2 Y L 3 E 2 5 9 3 Y M 3 F 2 4 7 1 Z M 3 F 2 5 8 2 Z L 3 F 2 5 8 3 Z M
如果我对这些数据使用表函数,例如:
table(df$Category, df$Mode)
它会告诉我每种模式下哪个类别有多少观察.这就像计算每种模式下每个类别中的项目数量.
但是,如果我希望表格显示在每个类别下哪个模式获得了多少利润(总和或平均值)而不是总数呢?
是否有任何方法可以使用表函数或R中的其他函数?
我们可以使用基数为R的xtabs.默认情况下,xtabs得到总和
xtabs(Profit~Category+Mode, df) # Mode #Category K L M # X 36 11 11 # Y 17 26 28 # Z 0 8 15
或者另一个更灵活地应用不同FUN的基本R选项是tapply.
with(df, tapply(Profit, list(Category, Mode), FUN=sum)) # K L M #X 36 11 11 #Y 17 26 28 #Z NA 8 15
或者我们可以使用dcast从’long’格式转换为’wide’格式.它更灵活,因为我们可以将fun.aggregate指定为sum,mean,median等.
library(reshape2) dcast(df, Category~Mode, value.var='Profit', sum) # Category K L M #1 X 36 11 11 #2 Y 17 26 28 #3 Z 0 8 15
如果你需要’long’格式,这里有一个data.table选项.我们将’data.frame’转换为’data.table'(setDT(df)),按’Category’和’Mode’分组,得到’Profit’的总和.
library(data.table) setDT(df)[, list(Profit= sum(Profit)) , by = .(Category, Mode)]
翻译自:https://stackoverflow.com/questions/32325858/r-table-function-how-to-sum-instead-of-counting
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- mongodb如何实现数组对象求和
- Leetcode 67:Add Binary(二进制求和)
- FreeCodeCamp 中级算法题 - 斐波那契数列奇数项求和
- 哈希算法、爱因斯坦求和约定,这是2020年的注意力机制
- Python 拓展之特殊函数(lambda 函数,map 函数,filter 函数,reduce 函数)
- Python 函数调用&定义函数&函数参数
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Android编程权威指南(第2版)
Bill Phillips、Chris Stewart、Brian Hardy、Kristin Marsicano / 王明发 / 人民邮电出版社 / 2016-5 / 109.00 元
Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程权威指南。全书共34章,详细介绍了8个Android 应用。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得最前沿的开发经验。 如果你熟悉Java语言,或者了解面向对象编程,那就立刻开始And......一起来看看 《Android编程权威指南(第2版)》 这本书的介绍吧!