在R中,
最有效的方式是什么:
gender soda
1 f y
2 f y
3 f n
4 m n
5 f y
6 m n
7 m n
8 f y
9 m y
10 m n
到
y n
m 0.2 0.8
f 0.8 0.2
我使用以下命令:
> tmp<-ddply(subdata,.(gender), summarise, y=length(soda[soda=="y"])/length(soda),n=length(soda[soda=="n"])/length(soda))
> rownames(tmp)<-tmp$gender
> tmp$gender<-NULL
> tmp
y n
f 0.8 0.2
m 0.2 0.8
但我觉得必须有一些我不知道的惯用语。有吗?
答案 0 :(得分:3)
您可以使用table
和prop.table
:
> prop.table(table(subdata), 2)
soda
gender n y
f 0.2 0.8
m 0.8 0.2
函数table
计算每个组合的值。 prop.table
计算沿第二边距的相对频率(即2
:列)。