第一次在这里发帖!我在使用ddply函数时遇到问题 . 我有这个表,我想用“LC”列总结,并在“Area”列中添加值:
ID LC per Area
1 1 7 0.29 62428.3
2 1 7 0.79 170063.3
3 1 4 0.40 86108.0
4 1 7 0.43 92566.1
5 1 6 1.00 215270.0
6 1 7 0.61 131314.7
根据这个数据框架,我希望如下:
LC Area
4 86108.0
6 215270.0
7 456372.4
应用ddply函数我得到以下结果:
> ddply(x, 'LC', sum)
LC V1
1 4 86113.4
2 6 215278.0
3 7 456406.5
格式是完美的,但值中存在一些差异 . 例如,类7的值应为456372.4,而ddply则报告值为456406.5 . 相差34.1 . 所有的 Value 都是错误的 .
有人能解释我为什么会遇到这个问题吗?我在这里错过了什么吗?我的代码错了吗?
谢谢!
1 回答
您的方法有两个问题:
你需要告诉
ddply
总结一下(Area
) . 如果未指定列,ddply
将所有列的值相加(ID
,per
和Area
) .您可以使用
summarise
参数聚合数据 .此代码有效:
结果: