这是一个玩具data.frame:
sex = c(rep("M", 4), rep("F", 4))
bg = c(rep("W",2),rep("NW",2),rep("W",2),rep("NW",2))
income = c(156,185,105,115,95,78,67,74)
(data = data.frame(income, sex, bg))
income sex bg
1 156 M W
2 185 M W
3 105 M NW
4 115 M NW
5 95 F W
6 78 F W
7 67 F NW
8 74 F NW
我正在寻找一种方法将这个对象变成一个交叉表,例如,每个单元格中的均值:
答案 0 :(得分:1)
您可以使用以下代码执行此操作:
library(reshape2)
dcast(df,bg ~ sex,fun.aggregate = mean,value.var='income')
## bg F M
##1 NW 70.5 110.0
##2 W 86.5 170.5