楼主: liqian0614
21894 22

[问答] R中关于by函数的一个问题 [推广有奖]

21
bfdddp 发表于 2017-6-7 10:20:37
bfdddp 发表于 2016-6-15 17:18
我也遇到了,仔细调试后发现by函数不能将数据框按照各列变量的顺序传送给dstats函数,结果dstats函数接受的 ...
最终发现 by函数按照 因子分类后的数据交给函数处理,如果函数可以识别数据框不同列,如summary函数,最后结果按照数据框各列计算结果。
如果不能识别数据框各列如sum函数,那么将数据强制转化向量处理。及求所有列数据总和。这时如果某些函数如mean在转化时不能正确处理就会产生NA值报错。
aggregate函数与by不同在于它直接把数据框分列后传给函数处理,这样就不易出错。
如果你要各列应用函数建议首选aggregate函数,同时aggregate得到加强可以返回多个值。
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

22
小伍长1769 发表于 2017-7-12 11:01:57
bfdddp 发表于 2016-6-15 17:18
我也遇到了,仔细调试后发现by函数不能将数据框按照各列变量的顺序传送给dstats函数,结果dstats函数接受的 ...
感谢,试用了一下,aggregate函数确实是可以的

23
newgoddy 发表于 2020-6-1 17:50:39
可以参考by函数的help文档,INDICES这个参数与aggregate函数不同,可能是这块原因

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 17:36