O que fazem table() e prop.table()?
Passo 1
O que o enunciado pede: explicar o que fazem as funções table() e prop.table() em R.
Informações dadas: nenhuma além da pergunta. Vou mostrar o que cada função retorna, a sintaxe básica, exemplos práticos (com cálculos explícitos) e dicas úteis para usar na prova.
Informações dadas: nenhuma além da pergunta. Vou mostrar o que cada função retorna, a sintaxe básica, exemplos práticos (com cálculos explícitos) e dicas úteis para usar na prova.
Passo 2
O que faz table() — ideia básica e sintaxe.
- table() conta frequências: recebe vetores (ou fatores) e retorna uma tabela de contagens (um vetor de frequências quando um argumento, ou uma tabela de contingência quando vários argumentos).
- Sintaxe simples:
- table(x) — conta quantas vezes cada nível aparece em
. - table(x, y) — conta pares
e retorna uma matriz com as contagens.
- table(x) — conta quantas vezes cada nível aparece em
- Exemplo concreto (passo a passo):
- Suponha
. Então os níveis são . - table(x) retorna contagens: para “F” aparece
vezes e para “M” aparece vezes. - Em R:
- x <- c(“M”,“F”,“F”,“M”,“F”)
- table(x) # resultado: F 3 M 2
- Suponha
- Interpretação: cada célula da tabela é um número de observações
(ou para tabelas de duas dimensões). - Alguns argumentos úteis:
- useNA = “ifany” ou “always” para incluir
nas contagens; - exclude para excluir níveis;
- dnn para nomes das dimensões.
- useNA = “ifany” ou “always” para incluir
- Observação: se passar colunas de um data.frame separadas (ex.: table(df
fuma)), o resultado é uma tabela de contingência que facilita testes estatísticos posteriores.
Passo 3
Como interpretar e manipular uma tabela de contingência (notação).
- Se table(x,y) produzir uma matriz cujas entradas são
, então: -
= número de observações com no nível e no nível . - Soma total
. - Soma de linha
. - Soma de coluna
.
-
- Exemplo numérico claro (faça na prova à mão se pedirem): suponha a tabela
- matriz de contagens (sexo × fuma):
- para “Masculino” e “Sim”:
- para “Masculino” e “Não”:
- para “Feminino” e “Sim”:
- para “Feminino” e “Não”:
- para “Masculino” e “Sim”:
- Então
. - Linha “Masculino”:
. - Coluna “Sim”:
.
- matriz de contagens (sexo × fuma):
Passo 4
O que faz prop.table() — definição e fórmulas.
- prop.table() transforma uma tabela de contagens em proporções dividindo por alguma soma.
- Sintaxe principal:
- prop.table(tab) — divide cada célula pelo total
, ou seja retorna . - prop.table(tab, margin = 1) — divide cada célula pela soma da linha:
. Assim cada linha soma . - prop.table(tab, margin = 2) — divide cada célula pela soma da coluna:
. Assim cada coluna soma .
- prop.table(tab) — divide cada célula pelo total
- Aplicando ao exemplo do passo anterior:
- prop.table(tab) dará células:
, , , . - prop.table(tab, margin = 1) (proporção por linha) para “Masculino”:
e . Para “Feminino”: e . - prop.table(tab, margin = 2) (proporção por coluna) para coluna “Sim”:
e .
- prop.table(tab) dará células:
- Em R, usualmente multiplicam por
para obter percentuais: .
Passo 5
Exemplos práticos em R e dicas de prova (com comandos e saída esperada).
- Montando a tabela:
- x <- c(“M”,“F”,“F”,“M”,“F”)
- table(x) # mostra contagens
- Contingência:
- sexo <- c(“M”,“M”,“F”,“F”)
- fuma <- c(“Sim”,“Não”,“Sim”,“Não”)
- tab <- table(sexo, fuma) # retorna matriz
- Proporções:
- prop.table(tab) # divide por
- prop.table(tab, margin = 1) # divide por
(cada linha soma 1) - prop.table(tab, margin = 2) # divide por
(cada coluna soma 1)
- prop.table(tab) # divide por
- Transformar para data.frame (útil em provas para ordenar ou plotar):
- as.data.frame(tab) # converte contagens em data.frame com colunas Var1, Var2, Freq
- as.data.frame(prop.table(tab)) # mesma coisa com proporções
- Mostrar totais:
- addmargins(tab) # soma margens (linhas/colunas e total)
- round(prop.table(tab), 3) # arredonda as proporções
- Atenção com NA:
- table(x, useNA = “ifany”) inclui NA como categoria (se houver).
- prop.table(NULL) precisa de uma tabela válida — normalmente aplicar prop.table em um objeto retornado por table().
Passo 6
Resumo didático e dica de memorização rápida (para prova).
- table(): conta, retorna frequências
ou . Pense: “quantos”. - prop.table(): transforma essas contagens em proporções — por total (padrão) ou por margens (linhas/colunas). Pense: “qual a fração”.
- Fórmulas-chave para decorar:
-
quando . -
quando . -
quando .
-
- Truque de prova: calcule primeiro a tabela com table(), verifique somas (linhas/colunas) e depois aplique prop.table() com o margin certo conforme perguntado.
Resposta
table(): cria uma tabela de frequências (contagens) de um vetor ou uma tabela de contingência entre variáveis.
prop.table(): transforma uma tabela de contagens em proporções dividindo pelas somas; por padrão divide pelo total (retorna
), e com
ou
divide por somas de linha
ou de coluna
, respectivamente.
prop.table(): transforma uma tabela de contagens em proporções dividindo pelas somas; por padrão divide pelo total