我用xtabs
做一个四向表
library(magrittr)
xtabs( ~ vs + gear + cyl, data = mtcars) %>%
ftable(row.vars = "gear")
返回
vs 0 1
cyl 4 6 8 4 6 8
gear
3 0 0 12 1 2 0
4 0 2 0 8 2 0
5 1 1 2 1 0 0
现在,我要在mtcars$vs
的水平范围内 。
如果我使用prop.table
xtabs( ~ vs + gear + cyl, data = mtcars) %>%
ftable(row.vars = "gear") %>%
prop.table(margin = 1) %>%
round(2)
我明白了
vs 0 1
cyl 4 6 8 4 6 8
gear
3 0.00 0.00 0.80 0.07 0.13 0.00
4 0.00 0.17 0.00 0.67 0.17 0.00
5 0.20 0.20 0.40 0.20 0.00 0.00
即-我希望vs == 0,齿轮== 3,圆柱体== 8的条目为1.00
答案 0 :(得分:1)
尝试一下
xtabs( ~ vs + gear + cyl, data = mtcars) %>%
ftable(row.vars = c("gear","vs")) %>%
prop.table(margin = 1) %>%
round(2)
结果是
cyl 4 6 8
gear vs
3 0 0.00 0.00 1.00
1 0.33 0.67 0.00
4 0 0.00 1.00 0.00
1 0.80 0.20 0.00
5 0 0.25 0.25 0.50
1 1.00 0.00 0.00