我有一个如下所示的paneldata:
(只有大幅削减我的问题)
Persno 122 122 122 333 333 333 333 333 444 444
Income 1500 1500 2000 2000 2100 2500 2500 1500 2000 2200
year 1 2 3 1 2 3 4 5 1 2
我需要一个命令或函数来识别不同的人。对于具有相同Person的所有行,我想给出平均收入。
非常感谢。
答案 0 :(得分:1)
我最喜欢的解决这类问题的工具是ddply,在plyr包中。
library(plyr)
p = pdata.frame(data.frame(year=rep(c(1,2,3),3), persno = c(1,1,1,2,2,2,3,3,3), income=c(1500,1500,2000,2000,2100,2500,2500,1500,2000)))
dply(p, .(persno), summarize, mean.income = mean(income))
给出了输出
persno mean.income
1 1 1666.667
2 2 2200.000
3 3 2000.000