Exercícios do tópico 4

Questão 1: Unindo tabelas

Una as tabelas demografico e laboratorio usando merge() com all.x = TRUE e salve o resultado no objeto dados.

dados <- merge(___, ___, by = "id", all.x = TRUE)

a) Quantas linhas e colunas a base unificada tem? Use dim().

b) Quais são os nomes das colunas? Use colnames().

dados <- merge(demografico, laboratorio, by = "id", all.x = TRUE)
dim(dados)
colnames(dados)

Questão 2: Conhecendo os participantes

Use o banco demografico para responder:

a) Quantos participantes há de cada sexo? Use table().

b) Quantos participantes há de cada estado civil? Use table().

c) Ordene o banco por idade em ordem decrescente. Quem são os 3 participantes mais velhos? Mostre apenas nome e idade.

# a)
table(demografico$sexo)

# b)
table(demografico$estado_civil)

# c)
ordenado <- demografico[order(demografico$idade, decreasing = TRUE), ]
ordenado[1:3, c("nome", "idade")]

Questão 3: Filtrando participantes

a) Filtre o banco demografico para manter apenas os participantes com renda acima de R$120. Quantos são?

b) Qual percentual do total isso representa?

# a)
com_renda <- demografico[demografico$renda_reais > 0, ]
nrow(com_renda)

# b) dividir pelo total e multiplicar por 100
nrow(com_renda) / nrow(demografico) * 100

Questão 4: Criando uma variável nova

No banco demografico, crie uma variável chamada baixa_renda que vale "Sim" se a renda for menor que R$ 120 e "Não" caso contrário. Use ifelse().

Em seguida, use table() para ver quantos participantes estão em cada categoria.

demografico$baixa_renda <- ifelse(demografico$renda_reais < 120, "Sim", "Não")
table(demografico$baixa_renda)

Questão 5: Classificando o IMC

O banco medidas_fisicas contém a variável imc. Crie uma variável chamada classif_imc usando a tabela abaixo:

Classificação IMC
"Abaixo do peso" < 18,5
"Peso normal" 18,5 a 24,9
"Sobrepeso" 25,0 a 29,9
"Obesidade" ≥ 30,0

a) Crie a variável com ifelse() aninhado.

b) Use table() para ver quantos participantes há em cada categoria.

O ifelse() aninhado funciona assim: dentro do “senão” de um ifelse(), você coloca outro ifelse().

medidas_fisicas$classif_imc <- ifelse(
  medidas_fisicas$imc < 18.5, "Abaixo do peso",
  ifelse(medidas_fisicas$imc < 25, "Peso normal",
  ifelse(medidas_fisicas$imc < 30, "Sobrepeso",
                                   "Obesidade")))

table(medidas_fisicas$classif_imc)

Questão 6: Resumindo por grupo

Use a função aggregate() para calcular a média de renda separada por estado civil no banco demografico.

aggregate(renda_reais ~ estado_civil, data = demografico, FUN = mean, na.rm = TRUE)

A fórmula variavel ~ grupo significa: “calcule a variável separada por grupo”.