我想知道是否有一种直接的方法可以在三向平面(!)列联表中获得嵌套的相对频率。
N <- 10
(sex <- factor(sample(c("f", "m"), N, replace=TRUE)))
(work <- factor(sample(c("home", "office"), N, replace=TRUE)))
(satisfaction <- factor(sample(c("excellent", "ok","bad"), N, replace=TRUE)))
ftable(work, sex, satisfaction, row.vars=c("sex", "satisfaction"))
此代码产生以下输出:
work home office
sex satisfaction
f bad 1 1
excellent 0 1
ok 1 1
m bad 1 0
excellent 1 0
ok 1 2
我想得到的是
work home office
sex satisfaction
f bad 0.2 0.2
excellent 0 0.2
ok 0.2 0.2
m bad 0.2 0
excellent 0.2 0
ok 0.2 0.4
我知道我可以用 prop.table 计算表格,但还没有弄清楚如何将它与 ftable 生成的平面列联表结合起来。当然有一种方法可以分别计算每个性别组的相对频率,但我对更直接的方法感兴趣。到目前为止,我还没有找到任何方法如何将相对频率放入平面列联表中。
注意:在此示例中,男性和女性组具有相同的大小 (5);但是,我正在寻找的解决方案应该足够灵活,以便组也可以有不同的大小。
非常感谢!