#r #expss
Вопрос:
Я запускал таблицы, включая tab_stat_cpct, в надежде, что col %появится в нижней строке, добавляя до 100% в каждом столбце. Но вот что я понимаю…
mtcars %>%
tab_cells(am) %>%
tab_cols(total(),vs) %>%
tab_stat_cases(label = "N") %>%
tab_stat_cpct(label="%") %>%
tab_pivot(stat_position = "inside_rows") %>% drop_rc() %>%
split_table_to_df()
1 #Total vs
2 0 1
3 am 0 N 19 12 7
4 % 59 67 50
5 1 N 13 6 7
6 % 41 33 50
7 #Total cases N 32 18 14
8 % 32 18 14
Они просто повторяют общее число n случаев в каждом столбце, а не %. Это ошибка или я делаю что-то не так в своем коде? Спасибо.
Ответ №1:
label
аргумент-это просто метка для текущего блока. По умолчанию все итоговые значения являются невзвешенным числом случаев и не зависят от label
. Чтобы получить желаемые результаты, нам нужно установить общую статистику и общие метки:
library(expss)
mtcars %>%
tab_cells(am) %>%
tab_cols(total(),vs) %>%
tab_stat_cases(label = "N", total_label = "") %>%
tab_stat_cpct(label="%", total_statistic = "w_cpct", total_label = "") %>%
tab_pivot(stat_position = "inside_rows")
# | | | | #Total | vs | |
# | | | | | 0 | 1 |
# | -- | -- | -- | ------ | ------ | --- |
# | am | 0 | N | 19.00 | 12.00 | 7 |
# | | | % | 59.38 | 66.67 | 50 |
# | | 1 | N | 13.00 | 6.00 | 7 |
# | | | % | 40.62 | 33.33 | 50 |
# | | # | N | 32.00 | 18.00 | 14 |
# | | | % | 100.00 | 100.00 | 100 |