Как указать имена строк и столбцов в перекрестной таблице, когда оба являются категориальными - PullRequest
2 голосов
/ 26 апреля 2019

У меня есть две категориальные переменные, и я пытаюсь создать кросс-табуляцию для них.Поскольку оба значения да и нет, я хочу указать имена строк и столбцов для простоты понимания.

T4 <- table(bank$Term_deposit, bank$housing_loan) 
%>% prop.table(margin = 2) *100

T4

           no       yes
  no  83.418772 92.217126 <br/>
  yes 16.581228  7.782874
kable(T4, caption = "%agewise comparison for marital status")
|    |       no|       yes|<br/>
|:---|--------:|---------:|<br/>
|no  | 83.41877| 92.217126|<br/>
|yes | 16.58123|  7.782874|<br/>

Ожидаемый результат:

|    |       no|       yes|<br/>
|:---|--------:|---------:|<br/>
CAT1 | 83.41877| 92.217126|<br/>
|CAT2| 16.58123|  7.782874|

ИЛИ

|    |     cat1|      cat2|<br/>
|:---|--------:|---------:|<br/>
CAT1 | 83.41877| 92.217126|<br/>
|CAT2| 16.58123|  7.782874|<br/>

1 Ответ

2 голосов
/ 26 апреля 2019

Это зависит от того, что вы хотите сделать с ним в конце, но если целью является визуализация уценки, подумайте об использовании pandoc.table, так как он предоставляет функциональность, аналогичную knitr :: kable:

library(pandoc)

colnames(T4) <- c("CAT1", "CAT2")
rownames(T4) <- c("no", "yes")
pandoc.table(T4)

Вывод:

-------------------------
 &nbsp;    CAT1    CAT2  
-------- -------- -------
 **y**    13473    77311 

 **n**    226221     0   
-------------------------

Или, может быть:

colnames(T4) <- c("deposit: no", "deposit: yes")
rownames(T4) <- c("loan: no", "loan: yes")
pandoc.table(T4)

Вывод:

--------------------------------------------
    &nbsp;       deposit: no   deposit: yes 
--------------- ------------- --------------
 **loan: no**       13473         77311     

 **loan: yes**     226221           0       
--------------------------------------------

Другой возможностью будет использование пакета expss:

library(expss)

df <- apply_labels(bank,
                   Term_deposit= "Term deposit",
                   housing_loan= "Housing loan")

cro_cpct(bank$Term_deposit, bank$housing_loan)

Вывод:


 |              |              | Housing loan |     |
 |              |              |            0 |   1 |
 | ------------ | ------------ | ------------ | --- |
 | Term deposit |            0 |         39.4 | 100 |
 |              |            1 |         60.6 |     |
 |              | #Total cases |         66.0 |  34 |

Оба пакета также предоставляют несколько других функций для создания аккуратных таблиц, стоит взглянуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...