2014-01-18 27 views
0

在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 

Bu我覺得必須有更多的地道表達,我不知道。在那兒?

回答

3

您可以使用tableprop.table

> prop.table(table(subdata), 2) 

     soda 
gender n y 
    f 0.2 0.8 
    m 0.8 0.2 

功能table計數的值每組合。 prop.table計算沿着第二邊界的相對頻率(即,2:列)。