我正在查看在R中的聚合函数的帮助页面.我从来没有使用过这个方便的功能,但是我有一个过程可以帮助我加快速度.不过,我完全无法透过这个例子了解发生了什么.
一个例子如下:
- 1> aggregate(state.x77,list(Region = state.region),mean)
- Region Population Income Illiteracy Life Exp Murder HS Grad Frost Area
- 1 Northeast 5495 4570 1.000 71.26 4.722 53.97 132.78 18141
- 2 South 4208 4012 1.738 69.71 10.581 44.34 64.62 54605
- 3 North Central 4803 4611 0.700 71.77 5.275 54.52 138.83 62652
- 4 West 2915 4703 1.023 71.23 7.215 62.00 102.15 134463
这里的输出正是我期望的.所以我试着去了解发生了什么.所以我看看state.x77
- 1> head(state.x77)
- Population Income Illiteracy Life Exp Murder HS Grad Frost Area
- Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
- Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
- Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
- Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
- California 21198 5114 1.1 71.71 10.3 62.6 20 156361
- Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
好的,对我来说很奇怪我会期望在state.x77中看到一个名为state.region或某事的列.所以state.region必须是它自己的对象.所以我做一个str()就可以了:
- 1> str(state.region)
- Factor w/ 4 levels "Northeast","South",..: 2 4 4 2 4 4 1 2 2 2 ...
看来state.region只是一个因素.在某种程度上,这是一个state.region和state.x77之间的连接,以使aggregate()将state.region组成state.x77.但是这种联系对我来说是一个谜.你能帮我填写我明显的误会吗?
从一个旧棉塞(是棉塞?)商业:“证明,不仅是承诺!
- state.x777 <- as.data.frame(state.x77)
- state.x777 <- cbind(state.x777,stejt.ridzn = state.region)
- aggregate(state.x77,list(Region = state.x777$stejt.ridzn),mean)