Традиционный способ сделать таблицу в R:Как сделать умножение magrittr труб
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 * .
все результат ошибки. Что мне не хватает?
В вашем примере маржа была для строк. В 'magrittr' вы используете' columns'. 'mtcars%>% xtabs (~ gear + cyl, data =.)%>% prop.table (., 1)%>% multiply_by (100)%>% round (., 2)' – akrun
см. http: // stackoverflow.com/a/27364575/3871924 – agenis
@ akrun - спасибо за улов, исправленный выше. – tomw