- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
R实现固定分组汇总的方法
R 实现固定分组汇总的方法
组名称和组数量已知的分组汇总被称为固定分组汇总,此类算法的分组依据来自于数据
集之外,比如:按照参数列表中的客户名单分组,或按照条件列表进行分组。此类算法会涉
及分组依据是否超出数据集、是否需要多余的组、数据是否重叠等问题,解决起来有一定的
难度。下面将介绍R 语言实现固定分组汇总的方法。
案例 1:分组依据不超出数据集
数据框sales 是订单记录,其中CLIENT 列是客户名,AMOUNT 列是订单金额,请将sales
按照“潜力客户列表”进行分组,并对各组的 AMOUNT 列汇总求和。潜力客户列表为
[ARO, BON,CHO],该列表恰好是CLIENT 列的子集。
说 明 : sales 的 来 源 可 以 是 数 据 库 也 可 以 是 文 件 , 比 如 :
orders-read.table(sales.txt,sep=\t, header=TRUE) 。其前几行数据如下:
ORDERID CLIENT SELLERID AMOUNT ORDERDATE
1 1 WVF Vip 5 440.0 2009-02-03
2 2 UFS Com 13 1863.4 2009-07-05
3 3 SWFR 2 1813.0 2009-07-08
4 4 JFS Pep 27 670.8 2009-07-08
5 5 DSG 15 3730.0 2009-07-09
代码:
byFac-factor(sa les$CLIENT,levels=c(ARO,BON,CHO))
result-aggregate(sales$AMOUNT,list(byFac),sum)
计算结果:
Group.1 x
1 ARO 899.0
2 BON 2564.4
3 CHO 1174.0
代码解读:
1. 函数factor 生成了一个分组依据(在R 中被称为因子),函数aggregate 按照分组依据进
行分组汇总,整段代码的结构非常清晰。
2. 需要注意的是,分组依据不是向量或数组,因此不能直接写成 byFac-
c(ARO,BON,CHO) 。分组依据也不能直接使用,还需要转化成list 类型。这些方面是
初学者不易理解的地方,尤应注意。
3. 如果以CLIENT 列为分组依据(即非固定分组),则只需一句代码就能实现:
result-aggregate(sales$AMOUNT,list(sales$CLIENT),sum )
总结:
使用aggregate 可以轻松实现本案例。
案例2:分组依据超出数据集
分组依据仅限于列数据,这属于特殊情况,实际上由于分组依据来自于数据集之外(比
如外部参数),它的成员很可能不在列数据中。本案例试图解决这样的问题。
假设 “潜力客户列表”的值为[ARO, BON,CHO,ZTOZ],请将sales 按照“潜力客户列表”
将数据分为四组,并对各组的AMOUNT 列汇总求和。注意,客户ZTOZ 不在CLIENT 列中。
与案例1 类似的代码:
byFac-factor(sales$CLIENT,levels=c(ARO,BON,CHO, ZTOZ))
result-aggregate(sales$AMOUNT,list(byFac),sum)
上述代码的计算结果是:
Group.1 x
1 ARO 899.0
2 BON 2564.4
3 CHO 1174.0
可以看到,计算结果中只有三组数据,缺失了 ZTOZ ,而不是要求中的四组。显然,上
述代码不能实现本案例,需要改进。
改进后的代码:
byFac-factor(sales$CLIENT,levels=c(ARO,BON,CHO,ZTOZ))
tapply(sales$AMOUNT, list(byFac ),function(x) sum(x))
计算结果:
ARO
您可能关注的文档
- PQRASME要求填写的焊接工艺评定报告.doc
- Practical Automatic Determination of Causal Relationships in Software Execution Traces.pdf
- Prediction of Physical, Color, and Sensory Characteristics of Broiler Breasts by VisibleNea.pdf
- Precision Spectroscopy of Pionic Atoms From Pion Mass Evaluation to Tests of Chiral Perturb.pdf
- Predictive Evaluation of Econometric Forecasting Models in Commodity Futures Markets.pdf
- Predicting the Performance of Randomized Parallel Search An Application to Robot Motion Pla.pdf
- PRELIMINARY VERSION A Design Diversity Metric and Analysis of Redundant Systems.pdf
- Present and NearFuture Reflected Light Searches for CloseIn Planets.pdf
- prepared for a special issue of abour Economics,.pdf
- Present and Future Electroweak Precision Measurements and the Indirect Determination of the.pdf
- R对称矩阵的左右逆特征值问题及其可解条件.pdf
- S.Takei, A Method of Constructing Casebase for Evaluation Assistant of Novice Programs.pdf
- S. Performance Evaluation of Operating Systems Using Approximate Analytical Methods.pdf
- SAACKE UWI~的说明书.pdf
- Safe and Effective Determinant Evaluation.pdf
- Safety+Inventory+Management—A+System+Dynamics+Model.pdf
- saberSketch的使用.docx
- sample final(基础班的文献阅读样卷).doc
- SampleHold_PFD_and_LF_Discussion.ppt
- sap pp顾问认证考试试题及资料.doc
文档评论(0)