在R中显示具有多个条件的比例

时间:2017-11-09 10:54:36

标签: r

我有:

> dataframe
 GENDER CITY  NUMBER
 Male   NY    1
 Female Paris 2
 Male   Paris 1
 Female NY    
 Female NY    2
 Male   Paris 2
 Male   Paris  
 Male   Paris 1
 Female NY    2
 Female Paris 1

我想在炸弹城(当时在纽约)返回男性和女性的比例,他们有2作为第三列(DF比我的例子长一些),知道NUMBER列中有空行。 从技术上讲,我希望显示一个具有两个条件的比例(以及将来的更多条件)。 我试过了:

prop.table(table(dataframe$GENDER, dataframe$CITY == 'NY' & dataframe$NUMBER == 2)

但这给了我错误的结果。 xxpected输出(或任何接近此输出):

          NY      
Male      0        
Female    20        

你知道我怎么能得到这个吗? 最好的是每个城市都有一个列

1 个答案:

答案 0 :(得分:0)

使用环境data.table,让您的生活更轻松。它使用SQL语法,并在数据增长时超高速。代码应该是:

library(data.table)
df <- data.table(yourdataframe)

df[, summary(GENDER), by = CITY] 

输出应该为您提供每个值的计数