在R中制作表格的传统方式:
data(mtcars)
round(100*prop.table(xtabs(~ gear + cyl, data = mtcars), 1), 2)
返回
cyl
gear 4 6 8
3 6.67 13.33 80.00
4 66.67 33.33 0.00
5 40.00 20.00 40.00
要使用magrittr
管道复制此内容,我已尝试过:
library(magrittr)
mtcars %>%
xtabs(~ gear + cyl, data = .) %>%
prop.table(., 1)
到目前为止一直很有效
cyl
gear 4 6 8
3 0.06666667 0.13333333 0.80000000
4 0.66666667 0.33333333 0.00000000
5 0.40000000 0.20000000 0.40000000
但任何尝试执行下一部分,其中我将比例转换为百分比,然后舍入,都会导致错误。例如:
mtcars %>%
xtabs(~ gear + cyl, data = .) %>%
100*prop.table(., 1)
和
mtcars %>%
xtabs(~ gear + cyl, data = .) %>%
prop.table(., 1) %>%
100 * .
都会导致错误。我错过了什么?
答案 0 :(得分:20)
您需要将*
放在引号 - "*"()
中,并在1
中使用prop.table
作为参数来匹配示例。
mtcars %>%
xtabs(~ gear + cyl, data = .) %>%
prop.table(., 1) %>%
"*"(100 ) %>% round(.,2)