Uma tabela cruzada fornece informações sobre uma distribuição bivariada, ou seja, sobre a distribuição de duas variáveis. Para obter uma tabela cruzada, basta adicionar uma segunda variável na função table()
: Aqui está uma tabela cruzada entre a satisfação com a democracia e o gênero:
table(
pss$stfdem,
pss$gndr
)
##
## female male
## 0 117 109
## 1 133 135
## 2 211 225
## 3 287 331
## 4 377 377
## 5 466 384
## 6 311 320
## 7 251 271
## 8 164 174
## 9 82 97
## 10 41 42
Como em tudo no R, também podemos salvar esta tabela como um objeto:
mytable <- table(
pss$stfdem,
pss$gndr
)
Para exibir porcentagens em vez de frequências, usamos a função prop.table()
. Esta função pode exibir a porcentagem das colunas, das linhas ou do total. Podemos chamar um objeto de tabela ou usar a função table()
na função. Aqui, chamamos a porcentagem das linhas no último argumento com o valor \(1\).
# Zeilenprozentuierung
prop.table(
mytable,
1
)
##
## female male
## 0 0.5176991 0.4823009
## 1 0.4962687 0.5037313
## 2 0.4839450 0.5160550
## 3 0.4644013 0.5355987
## 4 0.5000000 0.5000000
## 5 0.5482353 0.4517647
## 6 0.4928685 0.5071315
## 7 0.4808429 0.5191571
## 8 0.4852071 0.5147929
## 9 0.4581006 0.5418994
## 10 0.4939759 0.5060241
# alternativer Weg mit table()-Funktion
prop.table(
table(
pss$stfdem,
pss$gndr
),
1
)
A percentualização das colunas pode ser exibida alterando o segundo argumento para o valor \(2\):
prop.table(
mytable,
2
)
##
## female male
## 0 0.04795082 0.04421907
## 1 0.05450820 0.05476673
## 2 0.08647541 0.09127789
## 3 0.11762295 0.13427992
## 4 0.15450820 0.15294118
## 5 0.19098361 0.15578093
## 6 0.12745902 0.12981744
## 7 0.10286885 0.10993915
## 8 0.06721311 0.07058824
## 9 0.03360656 0.03935091
## 10 0.01680328 0.01703854
Se nenhum segundo argumento for fornecido, a percentualização total será exibida automaticamente:
prop.table(mytable)
##
## female male
## 0 0.023853211 0.022222222
## 1 0.027115189 0.027522936
## 2 0.043017329 0.045871560
## 3 0.058511723 0.067482161
## 4 0.076860347 0.076860347
## 5 0.095005097 0.078287462
## 6 0.063404689 0.065239551
## 7 0.051172273 0.055249745
## 8 0.033435270 0.035474006
## 9 0.016717635 0.019775739
## 10 0.008358818 0.008562691
As frequências marginais podem ser exibidas usando a função margin.table()
. Novamente, o valor \(1\) no segundo argumento representa as frequências marginais das linhas e o valor \(2\) exibe as frequências marginais das colunas:
# Zeilenrandhäufigkeiten
margin.table(
mytable,
1
)
##
## 0 1 2 3 4 5 6 7 8 9 10
## 226 268 436 618 754 850 631 522 338 179 83
# Spaltenrandhäufigkeiten
margin.table(
mytable,
2
)
##
## female male
## 2440 2465
Existem várias bibliotecas que permitem representar as frequências relativas de forma mais atraente. Uma delas é a biblioteca gmodels
:
if(!require("gmodels")) install.packages("gmodels")
library("gmodels")
Da biblioteca, usamos a função CrossTable()
. Esta função exibe todas as informações mencionadas acima de uma vez:
CrossTable(
pss$stfdem,
pss$gndr
)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | Chi-square contribution |
## | N / Row Total |
## | N / Col Total |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 4905
##
##
## | pss$gndr
## pss$stfdem | female | male | Row Total |
## -------------|-----------|-----------|-----------|
## 0 | 117 | 109 | 226 |
## | 0.186 | 0.184 | |
## | 0.518 | 0.482 | 0.046 |
## | 0.048 | 0.044 | |
## | 0.024 | 0.022 | |
## -------------|-----------|-----------|-----------|
## 1 | 133 | 135 | 268 |
## | 0.001 | 0.001 | |
## | 0.496 | 0.504 | 0.055 |
## | 0.055 | 0.055 | |
## | 0.027 | 0.028 | |
## -------------|-----------|-----------|-----------|
## 2 | 211 | 225 | 436 |
## | 0.160 | 0.158 | |
## | 0.484 | 0.516 | 0.089 |
## | 0.086 | 0.091 | |
## | 0.043 | 0.046 | |
## -------------|-----------|-----------|-----------|
## 3 | 287 | 331 | 618 |
## | 1.357 | 1.343 | |
## | 0.464 | 0.536 | 0.126 |
## | 0.118 | 0.134 | |
## | 0.059 | 0.067 | |
## -------------|-----------|-----------|-----------|
## 4 | 377 | 377 | 754 |
## | 0.010 | 0.010 | |
## | 0.500 | 0.500 | 0.154 |
## | 0.155 | 0.153 | |
## | 0.077 | 0.077 | |
## -------------|-----------|-----------|-----------|
## 5 | 466 | 384 | 850 |
## | 4.407 | 4.362 | |
## | 0.548 | 0.452 | 0.173 |
## | 0.191 | 0.156 | |
## | 0.095 | 0.078 | |
## -------------|-----------|-----------|-----------|
## 6 | 311 | 320 | 631 |
## | 0.027 | 0.026 | |
## | 0.493 | 0.507 | 0.129 |
## | 0.127 | 0.130 | |
## | 0.063 | 0.065 | |
## -------------|-----------|-----------|-----------|
## 7 | 251 | 271 | 522 |
## | 0.289 | 0.287 | |
## | 0.481 | 0.519 | 0.106 |
## | 0.103 | 0.110 | |
## | 0.051 | 0.055 | |
## -------------|-----------|-----------|-----------|
## 8 | 164 | 174 | 338 |
## | 0.102 | 0.101 | |
## | 0.485 | 0.515 | 0.069 |
## | 0.067 | 0.071 | |
## | 0.033 | 0.035 | |
## -------------|-----------|-----------|-----------|
## 9 | 82 | 97 | 179 |
## | 0.557 | 0.552 | |
## | 0.458 | 0.542 | 0.036 |
## | 0.034 | 0.039 | |
## | 0.017 | 0.020 | |
## -------------|-----------|-----------|-----------|
## 10 | 41 | 42 | 83 |
## | 0.002 | 0.002 | |
## | 0.494 | 0.506 | 0.017 |
## | 0.017 | 0.017 | |
## | 0.008 | 0.009 | |
## -------------|-----------|-----------|-----------|
## Column Total | 2440 | 2465 | 4905 |
## | 0.497 | 0.503 | |
## -------------|-----------|-----------|-----------|
##
##