Tabelas
# -----------------------------------------------------------------------------
# Tabelas
# -----------------------------------------------------------------------------
# tabelas simples
tabsimp = rep(c('Mulheres',
'Homens'),
c(20, 12))
tabsimp
## [1] "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres"
## [8] "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres"
## [15] "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Mulheres" "Homens"
## [22] "Homens" "Homens" "Homens" "Homens" "Homens" "Homens" "Homens"
## [29] "Homens" "Homens" "Homens" "Homens"
table(tabsimp) # função para fazer a tabela dos dados
## tabsimp
## Homens Mulheres
## 12 20
prop.table(table(tabsimp)) # função para calcular a proporção dos objetos de uma tabela.
## tabsimp
## Homens Mulheres
## 0.375 0.625
ptabsimp = table(tabsimp)
ptabsimp
## tabsimp
## Homens Mulheres
## 12 20
## tabsimp
## Homens Mulheres
## 0.375 0.625
sum(prop.table(ptabsimp))
## [1] 1
addmargins(table(tabsimp))
## tabsimp
## Homens Mulheres Sum
## 12 20 32
# tabelas cruzadas
sexo = rep(c('Mulh', 'Hom'),
c(23, 45))
fumante = c(rep(c('s',
'n'),
c(10, 13)),
rep(c('s', 'n'),
c(23, 22)))
tabcr = data.frame(sexo,
fumante)
tabcr
## sexo fumante
## 1 Mulh s
## 2 Mulh s
## 3 Mulh s
## 4 Mulh s
## 5 Mulh s
## 6 Mulh s
## 7 Mulh s
## 8 Mulh s
## 9 Mulh s
## 10 Mulh s
## 11 Mulh n
## 12 Mulh n
## 13 Mulh n
## 14 Mulh n
## 15 Mulh n
## 16 Mulh n
## 17 Mulh n
## 18 Mulh n
## 19 Mulh n
## 20 Mulh n
## 21 Mulh n
## 22 Mulh n
## 23 Mulh n
## 24 Hom s
## 25 Hom s
## 26 Hom s
## 27 Hom s
## 28 Hom s
## 29 Hom s
## 30 Hom s
## 31 Hom s
## 32 Hom s
## 33 Hom s
## 34 Hom s
## 35 Hom s
## 36 Hom s
## 37 Hom s
## 38 Hom s
## 39 Hom s
## 40 Hom s
## 41 Hom s
## 42 Hom s
## 43 Hom s
## 44 Hom s
## 45 Hom s
## 46 Hom s
## 47 Hom n
## 48 Hom n
## 49 Hom n
## 50 Hom n
## 51 Hom n
## 52 Hom n
## 53 Hom n
## 54 Hom n
## 55 Hom n
## 56 Hom n
## 57 Hom n
## 58 Hom n
## 59 Hom n
## 60 Hom n
## 61 Hom n
## 62 Hom n
## 63 Hom n
## 64 Hom n
## 65 Hom n
## 66 Hom n
## 67 Hom n
## 68 Hom n
## fumante
## sexo n s
## Hom 22 23
## Mulh 13 10
prop.table(table(tabcr)) # E se eu quiser a linha como referência para as proporções??
## fumante
## sexo n s
## Hom 0.3235294 0.3382353
## Mulh 0.1911765 0.1470588
prop.table(table(tabcr),
margin = 1)
## fumante
## sexo n s
## Hom 0.4888889 0.5111111
## Mulh 0.5652174 0.4347826
prop.table(table(tabcr),
margin = 2)
## fumante
## sexo n s
## Hom 0.6285714 0.6969697
## Mulh 0.3714286 0.3030303
## fumante
## sexo n s Sum
## Hom 22 23 45
## Mulh 13 10 23
## Sum 35 33 68
addmargins(table(tabcr),
FUN = mean)
## Margins computed over dimensions
## in the following order:
## 1: sexo
## 2: fumante
## fumante
## sexo n s mean
## Hom 22.0 23.0 22.5
## Mulh 13.0 10.0 11.5
## mean 17.5 16.5 17.0
# tabelas multidimensionais
estadocivil = c(rep(c('solteiro',
'casado'),
c(17, 6)),
rep(c('solteiro',
'casado'),
c(20, 25)))
tabmul = data.frame(estadocivil,
sexo,
fumante)
tabmul
## estadocivil sexo fumante
## 1 solteiro Mulh s
## 2 solteiro Mulh s
## 3 solteiro Mulh s
## 4 solteiro Mulh s
## 5 solteiro Mulh s
## 6 solteiro Mulh s
## 7 solteiro Mulh s
## 8 solteiro Mulh s
## 9 solteiro Mulh s
## 10 solteiro Mulh s
## 11 solteiro Mulh n
## 12 solteiro Mulh n
## 13 solteiro Mulh n
## 14 solteiro Mulh n
## 15 solteiro Mulh n
## 16 solteiro Mulh n
## 17 solteiro Mulh n
## 18 casado Mulh n
## 19 casado Mulh n
## 20 casado Mulh n
## 21 casado Mulh n
## 22 casado Mulh n
## 23 casado Mulh n
## 24 solteiro Hom s
## 25 solteiro Hom s
## 26 solteiro Hom s
## 27 solteiro Hom s
## 28 solteiro Hom s
## 29 solteiro Hom s
## 30 solteiro Hom s
## 31 solteiro Hom s
## 32 solteiro Hom s
## 33 solteiro Hom s
## 34 solteiro Hom s
## 35 solteiro Hom s
## 36 solteiro Hom s
## 37 solteiro Hom s
## 38 solteiro Hom s
## 39 solteiro Hom s
## 40 solteiro Hom s
## 41 solteiro Hom s
## 42 solteiro Hom s
## 43 solteiro Hom s
## 44 casado Hom s
## 45 casado Hom s
## 46 casado Hom s
## 47 casado Hom n
## 48 casado Hom n
## 49 casado Hom n
## 50 casado Hom n
## 51 casado Hom n
## 52 casado Hom n
## 53 casado Hom n
## 54 casado Hom n
## 55 casado Hom n
## 56 casado Hom n
## 57 casado Hom n
## 58 casado Hom n
## 59 casado Hom n
## 60 casado Hom n
## 61 casado Hom n
## 62 casado Hom n
## 63 casado Hom n
## 64 casado Hom n
## 65 casado Hom n
## 66 casado Hom n
## 67 casado Hom n
## 68 casado Hom n
with(tabmul,
table(sexo,
fumante,
estadocivil))
## , , estadocivil = casado
##
## fumante
## sexo n s
## Hom 22 3
## Mulh 6 0
##
## , , estadocivil = solteiro
##
## fumante
## sexo n s
## Hom 0 20
## Mulh 7 10
tabm = with(tabmul,
table(sexo,
fumante,
estadocivil))
prop.table(tabm,
margin=1)#Percebam que as proporções estão utilizando o total linha das duas dimensões. Não é isso que se deseja!
## , , estadocivil = casado
##
## fumante
## sexo n s
## Hom 0.48888889 0.06666667
## Mulh 0.26086957 0.00000000
##
## , , estadocivil = solteiro
##
## fumante
## sexo n s
## Hom 0.00000000 0.44444444
## Mulh 0.30434783 0.43478261
prop.table(tabm[,,1],margin=1)
## fumante
## sexo n s
## Hom 0.88 0.12
## Mulh 1.00 0.00
prop.table(tabm[,,2],margin=1)
## fumante
## sexo n s
## Hom 0.0000000 1.0000000
## Mulh 0.4117647 0.5882353
prop.table(tabm,
margin=2)#Idem ao exemplo acima!
## , , estadocivil = casado
##
## fumante
## sexo n s
## Hom 0.62857143 0.09090909
## Mulh 0.17142857 0.00000000
##
## , , estadocivil = solteiro
##
## fumante
## sexo n s
## Hom 0.00000000 0.60606061
## Mulh 0.20000000 0.30303030
prop.table(tabm[,,1],margin=2)
## fumante
## sexo n s
## Hom 0.7857143 1.0000000
## Mulh 0.2142857 0.0000000
prop.table(tabm[,,2],margin=2)
## fumante
## sexo n s
## Hom 0.0000000 0.6666667
## Mulh 1.0000000 0.3333333
# Ou também utilizando a função ftable
with(tabmul,
ftable(sexo,
fumante,
estadocivil))
## estadocivil casado solteiro
## sexo fumante
## Hom n 22 0
## s 3 20
## Mulh n 6 7
## s 0 10
tabf = with(tabmul,
ftable(sexo,
fumante,
estadocivil))
prop.table(tabf,
margin=1)
## estadocivil casado solteiro
## sexo fumante
## Hom n 1.0000000 0.0000000
## s 0.1304348 0.8695652
## Mulh n 0.4615385 0.5384615
## s 0.0000000 1.0000000
prop.table(tabf,
margin=2)
## estadocivil casado solteiro
## sexo fumante
## Hom n 0.70967742 0.00000000
## s 0.09677419 0.54054054
## Mulh n 0.19354839 0.18918919
## s 0.00000000 0.27027027