R表xtab中:列联表上的排除条件因素
问题描述:
想象我想创建一个列联表的移动和性别为具有以下数据集:R表xtab中:列联表上的排除条件因素
df<-data.frame(read.table(header = TRUE, text =
"Age Gender Mobile
13 Male 1
14 Female 1
18 Female 1
13 Male 1
13 Female 1
14 Female 0
16 Male 1
16 Female 0
16 Male 0
20 Male 0
14 Male 0
13 Female 0
25 Male 1
13 Female 0
24 Female 0"))
我会去了解它,如下所示:
df$Gender<-factor(df$Gender)
df$Mobile<-factor(df$Mobile)
prop.table(xtabs(~Mobile+Gender, df))
它工作正常。现在,想象一下,我想为18岁以上的样本子集编制一个适合性别和移动性的表格。您如何做到这一点?我尝试了以下无济于事:
prop.table(xtabs(~Mobile+Gender, df[df$Age>18]))
或
prop.table(xtabs(~Mobile+Gender[df$Age>18], df))
或
prop.table(xtabs(~Mobile+Gender, df))[df$Age>18]
任何想法?谢谢!
答
我们需要subset
行为Age > 18
,如果我们需要在子集化后删除未使用的级别,使用droplevels
,得到xtabs
并转换为比例表。
prop.table(xtabs(~Mobile+Gender, droplevels(df[df$Age>18,])))
!而且你是对的,伙计!感谢修正以及快速回复!干杯 – DomB