我确信这个问题之前已经回答过了,但是我想通过同时处理多个变量(100s)来计算均值和标准差,并且除了使用冗长的 ddply 代码之外无法弄清楚如何做到这一点。
这是我的数据框(g)的一部分:
trt blk til res sand silt clay ibd1_6 ibd9_14 ibd_ave
1 CTK 1 CT K 74 15 11 1.323 1.593 1.458
2 CTK 2 CT K 71 15 14 1.575 1.601 1.588
3 CTK 3 CT K 72 14 14 1.551 1.594 1.573
4 CTR 1 CT R 72 15 13 1.560 1.647 1.604
5 CTR 2 CT R 73 14 13 1.612 1.580 1.596
6 CTR 3 CT R 73 13 14 1.709 1.577 1.643
7 ZTK 1 ZT K 72 16 12 1.526 1.546 1.536
8 ZTK 2 ZT K 71 16 13 1.292 1.626 1.459
9 ZTK 3 ZT K 71 17 12 1.623 1.607 1.615
10 ZTR 1 ZT R 66 16 18 1.719 1.709 1.714
11 ZTR 2 ZT R 67 17 16 1.529 1.708 1.618
12 ZTR 3 ZT R 66 17 17 1.663 1.655 1.659
我想要一个函数来做 ddply 所做的事情,即 ddply(g, trt, meanSand=mean(sand), sdSand=sd(sand), meanSilt=mean(silt)...) 而无需编写它全力以赴。有任何想法吗?感谢您的耐心等待!