Respostas

Imports

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

VADeaths

Premissa:

Visualize o dataset VADeaths (já incluído no R) e crie um gráfico de barras empilhadas desses dados, de modo que as barras estejam agrupadas (lado a lado) para cada categoria. Também defina uma cor diferente para cada grupo das categorias. Por fim, adicione título, legenda e nomes nos eixos. Abaixo submeta o link do RPubs com o resultado dessa questão. Ela deve ficar dentro de uma aba chamada de “VADeaths”.

Resposta:

library(tidyverse)
data <-as.data.frame(VADeaths)
data<-tibble::rownames_to_column(data, "Age") 
data %>% 
  pivot_longer(-Age, names_to = "type") %>% 
  ggplot(aes(Age, value, fill = type)) +
  theme_minimal() +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Gráfico do VADeaths - Barras Empilhadas com Barras Agrupadas",
       x = "Idades",
       y = "Número de Mortes")

ClassificaçãoDoença

Premissa:

Uma doença pode ser classificada em três estágios (leve, moderado e severo). Foram examinados 20 pacientes e obtidos os dados: moderado, leve, leve, severo, leve, moderado, moderado, moderado, leve, leve, severo,leve, moderado, moderado, leve, severo, moderado, moderado, moderado,leve. Com base nestes dados crie um gráfico de piza. Inclua a porcentagem de cada fatia, as cores das fatias e o nome do gráfico. Adicionalmente, use o comando legend() para incluir a legenda do gráfico. Abaixo submeta o link do RPubs com o resultado dessa questão. Ela deve ficar dentro de uma aba chamada de “ClassificaçãoDoença”. Note que apenas um link do RPubs é necessário. Basta repetir o link abaixo se você já tiver submetido para outras questões.

Resposta:

# Criando um Gráfico de pizza baseado na premissa acima

colors <- c("green", "lightblue", "purple")

data <- c("moderado", "leve", "leve", "severo", "leve", "moderado", 
          "moderado", "moderado", "leve", "leve", "severo", "leve",
          "moderado", "moderado", "leve", "severo", "moderado", 
          "moderado", "moderado", "leve")

dt <- table(data)

pie(dt, labels = paste(names(dt), "(", round(100 * dt / sum(dt), 1), "%)"), col = colors)

title("Distribuição Percentual da Doença")

legend("topleft", legend = names(dt), fill = colors, title = "Grau do estágio")

Teorema

Premissa:

Nesta questão, demonstre o uso do teorema do limite central, usando o conjunto de dados “flu” que é altamente não normal. Esse dataset contém as frequências das idades das mortes durante a epidemia de gripe espanhola na Suíça em 1918. Considere a idade das mortes como a população. Execute os passos a seguir. (1)Mostre o histograma e a curva de densidade do conjunto de dados “flu”. (2) Crie 200 médias de amostras da população com tamanho n = 35. (3) Mostre o histograma com a curva de densidade para a médias das amostras. 4) Submeta o link do RPubs com o resultado das etapas anteriores . Essa questão deve ficar dentro de uma aba chamada de “Teorema”. Note que apenas um link do RPubs é necessário. Basta repetir o link abaixo se você já tiver submetido para outras questões.

Resposta:

flu <- as.data.frame(read.csv("flu.csv"))


ggplot(data = flu, aes(x = age)) +
  theme_minimal() +
  geom_histogram(binwidth = 2, fill = "purple", color = "pink") +
  labs(title = "Histograma - Dataset 'flu'",
       x = "Idade das Mortes",
       y = "Frequência")

ggplot(data = flu, aes(x = age)) +
  theme_minimal() +
  geom_density(fill = "purple", color = "pink") +
  labs(title = "Curva de Densidade - Dataset 'flu'",
       x = "Idade das Mortes",
       y = "Densidade") 

quantidade_populacao_amostra <- 35

medias_amostras_populacao <- numeric(200)

for (i in 1:200){
  x <- sample(flu$age, quantidade_populacao_amostra, replace = TRUE)
  medias_amostras_populacao[i] <- mean(x)
}
ggplot(data = data.frame(Media = medias_amostras_populacao), aes(x = Media)) +
  geom_density(fill = "purple", color = "pink") +
  labs(title = "Curva de Densidade das Médias das Amostras",
       x = "Média da Idade das Mortes",
       y = "Densidade") +
  theme_minimal()

Peso dos gatos

Premissa:

Suponha que a variável escolhida num estudo seja o peso dos gatos da Ruralinda e que a população é composta de 300 gatos. Pelo um estudo prévio dos pesos, o desvio-padrão é de 0.5 kg. Admitindo-se um nível de confiança de 99% e um erro amostral de 0.1 kg, calcule o tamanho da amostra para estimar o peso médio dos gatos da Ruralinda. Use apenas duas casas decimais para submeter sua resposta (sem arredondamento). Ex.:123.239586 -> 123.23.

Resposta:

#Dado o nivel de conficanca de 99%
nivel_de_confianca <- 99/100
#Então podemos calcular o valor crítico
valor_critico <- qnorm((1 + nivel_de_confianca) / 2)

#Dado o erro 0.1kg e Devio padrao de 0.5kg
erro <- 0.1
desvio_padrao <- 0.5


tamanho_da_amostra <- (valor_critico^2 * desvio_padrao^2) / erro^2

print( sprintf(tamanho_da_amostra, fmt = '%.2f') )
## [1] "165.87"

RU da Ruralinda

Premissa: No RU da Ruralinda, os alunos comem, em média, 400 gramas, com desvio padrão de 45 gramas. Pressupondo distribuição normal, qual proporção de alunos comem acima de 500 gramas ? Submeta a resposta em porcentagem com duas casas decimais. Também coloquem o símbolo de porcentagem. Por exemplo: 0.9452899 -> 94.52%.

Resposta:

# Dado o desvio padrão de 45 gramas
desvio_padrao <- 45
# Dado a media  de 400 gramas 
media <- 400
# Dado ponto para considerarmos a cima
a_partir_de <- 500

#Podemos calcular a porcentagem dos alunos que comem abaixo de 500:
alunos_que_comem_abaixo <- pnorm(a_partir_de, mean = media, sd = desvio_padrao)

#Logo os alunos que comem acima é calculado como:
alunos_que_comem_acima = 1-alunos_que_comem_abaixo

print(sprintf("%.2f%%",alunos_que_comem_acima))
## [1] "0.01%"

Questão 6

Premissa:

Para esta questão, usaremos o conjunto de dados “bdims”. Este conjunto de dados contém medidas de 247 homens e 260 mulheres, a maioria dos quais foram considerados adultos jovens saudáveis. Determine o intervalo de confiança de 98.5% da média de alturas (hgt) das mulheres (sex == 0). Para carregar o conjunto de dados primeiro baixe o arquivo “bdims.RData” e coloque-o no diretório apontado pelo RStudio. Após isso, use o comando load(“bdims.RData”). Submeta a resposta com duas casas decimais e sem espaço. Por exemplo: [ 23.4051 - 34.44589 ] -> [23.40-34.44].

Resposta:

#Carregando o conjunto de dados
load('./bdims.RData')

#Filtrando do conjunto de dados as mulheres baseado no sex == 0
mulheres <- bdims %>% filter(sex == 0)


#Filtrando do conjunto mulheres todas as alturas
altura_mulheres <- mulheres$hgt


# Calculando a media das alturas
media_das_alturas <- mean(altura_mulheres)

# Calculando o Desvio Padrão
sd <- sd(altura_mulheres)

#Dado intervalo_de_confianca
intervalo_de_confianca<-0.985


n <- length(altura_mulheres)
nc<-(1-intervalo_de_confianca)/2

# Calculando o erro
error <- sd/sqrt(n)


left <- media_das_alturas-(qnorm(nc,lower.tail= F)*error)
#formatando para duas casas
left <- sprintf("%.2f",left)

right <- media_das_alturas+(qnorm(nc,lower.tail= F)*error)
#formatando para duas casas
right <- sprintf("%.2f",right)


cat("[",left, "-", right,"]",sep = "")
## [163.89-165.86]