VADeaths

Enunciado:

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.

VADeaths

library(ggplot2)
library(tidyr)
library(ggplot2)
library(knitr)

print(VADeaths)
##       Rural Male Rural Female Urban Male Urban Female
## 50-54       11.7          8.7       15.4          8.4
## 55-59       18.1         11.7       24.3         13.6
## 60-64       26.9         20.3       37.0         19.3
## 65-69       41.0         30.9       54.6         35.1
## 70-74       66.0         54.3       71.1         50.0
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
## ✔ lubridate 1.9.3     ✔ tibble    3.2.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
data("VADeaths")
df <- as.data.frame(VADeaths)
df$`Faixa Etária` <- rownames(df)
df <- df %>% select(`Faixa Etária`, everything())

df_long <- df %>%
  pivot_longer(cols = c("Rural Male", "Rural Female", "Urban Male", "Urban Female"),
               names_to = "Categorias",
               values_to = "Value")

df_long
## # A tibble: 20 × 3
##    `Faixa Etária` Categorias   Value
##    <chr>          <chr>        <dbl>
##  1 50-54          Rural Male    11.7
##  2 50-54          Rural Female   8.7
##  3 50-54          Urban Male    15.4
##  4 50-54          Urban Female   8.4
##  5 55-59          Rural Male    18.1
##  6 55-59          Rural Female  11.7
##  7 55-59          Urban Male    24.3
##  8 55-59          Urban Female  13.6
##  9 60-64          Rural Male    26.9
## 10 60-64          Rural Female  20.3
## 11 60-64          Urban Male    37  
## 12 60-64          Urban Female  19.3
## 13 65-69          Rural Male    41  
## 14 65-69          Rural Female  30.9
## 15 65-69          Urban Male    54.6
## 16 65-69          Urban Female  35.1
## 17 70-74          Rural Male    66  
## 18 70-74          Rural Female  54.3
## 19 70-74          Urban Male    71.1
## 20 70-74          Urban Female  50
library(ggplot2)

ggplot(df_long, aes(x = Categorias, y = Value, fill = `Faixa Etária`)) +
  geom_bar(stat = "identity") +  
  scale_fill_brewer(palette = "Set3") +  
  labs(title = "Taxas de Mortalidade por Categoria e Faixa Etária",
       x = "Categoria",
       y = "Taxa de Mortalidade - Quantidade",
       fill = "Faixa Etária") +  # Título, rótulos dos eixos e legenda
  theme_minimal()  # Tema do gráfico

ClassificaçãoDoença

Enunciado

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.

Resposta

# Instalar e carregar o pacote necessário

library(tidyverse)


doenca <- data.frame(estagio = c("moderado", "leve", "leve", "severo", "leve", "moderado", 
                                 "moderado", "moderado", "leve", "leve", "severo", "leve", 
                                 "moderado", "moderado", "leve", "severo", "moderado", 
                                 "moderado", "moderado", "leve"))

# Contando a quantidade de cada estágio
contagem <- table(doenca$estagio)

# Convertendo para data frame
tabela_resultado <- as.data.frame(contagem)

# Nomeando as colunas
colnames(tabela_resultado) <- c("Estágio", "Quantidade")

# Mostrando o resultado
print(tabela_resultado)
##    Estágio Quantidade
## 1     leve          8
## 2 moderado          9
## 3   severo          3
grafico <- ggplot(tabela_resultado, aes(x = "", y = Quantidade, fill = Estágio)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y", start = 0) +
  theme_void() +  
  scale_fill_manual(values = c('blue','red','yellow')) +
  ggtitle("Distribuição dos Estágios") +  
  theme(plot.title = element_text(hjust = 0.5)) +  
  geom_text(aes(label = paste0(round(Quantidade / sum(Quantidade) * 100), "%")),
            position = position_stack(vjust = 0.5), size = 5)  

# Mostrar o gráfico
print(grafico)

plot.new()

# Adicionar legenda
legend("top", legend = tabela_resultado$Estágio, fill = c('blue','red','yellow'), title = "Estágio", horiz = TRUE)

Teorema

Enunciado

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

Resposta

library(readr)

flu <- read_csv("flu.csv", col_types = cols(age = col_double()))

print(flu)
## # A tibble: 75,034 × 1
##      age
##    <dbl>
##  1     0
##  2     0
##  3     0
##  4     0
##  5     0
##  6     0
##  7     0
##  8     0
##  9     0
## 10     0
## # ℹ 75,024 more rows

Histograma

hist(flu$age, probability = T)
lines(density(flu$age))

n <- 200
Tamanho <- 35
med <- rep(NA, n)

for (i in 1:n){
  amostra <- sample(flu$age, size = Tamanho)
  med[i] <- mean(amostra)
}

med
##   [1] 43.28571 39.20000 46.34286 37.25714 45.40000 41.51429 37.05714 41.40000
##   [9] 34.17143 40.77143 42.42857 39.91429 48.22857 43.34286 43.54286 40.60000
##  [17] 42.22857 48.02857 42.65714 49.34286 43.68571 44.62857 39.25714 35.97143
##  [25] 51.97143 43.34286 44.11429 42.37143 45.88571 41.37143 42.00000 41.65714
##  [33] 47.20000 43.54286 44.68571 39.68571 43.85714 41.34286 37.71429 48.80000
##  [41] 39.94286 45.08571 41.00000 50.97143 45.80000 47.20000 45.94286 43.94286
##  [49] 38.57143 41.82857 49.20000 50.71429 44.80000 48.31429 43.54286 40.57143
##  [57] 41.22857 44.74286 38.40000 41.31429 53.74286 40.37143 53.31429 43.85714
##  [65] 40.22857 45.45714 44.25714 44.97143 48.34286 45.94286 39.97143 39.02857
##  [73] 43.68571 43.00000 47.31429 48.14286 40.31429 40.17143 50.80000 38.17143
##  [81] 43.48571 44.00000 42.48571 39.85714 40.60000 47.94286 41.51429 42.31429
##  [89] 43.82857 42.71429 40.80000 44.65714 44.94286 42.88571 37.65714 47.02857
##  [97] 40.20000 44.94286 46.71429 40.37143 40.71429 38.60000 37.28571 47.68571
## [105] 47.82857 36.68571 39.45714 37.94286 42.05714 40.68571 41.42857 47.97143
## [113] 50.88571 45.57143 35.57143 39.74286 43.17143 41.57143 51.34286 43.11429
## [121] 50.14286 44.68571 46.14286 48.40000 38.88571 34.34286 41.40000 44.65714
## [129] 40.77143 38.14286 45.02857 41.88571 45.91429 47.82857 42.34286 47.60000
## [137] 47.05714 41.08571 43.60000 45.08571 42.80000 41.80000 42.05714 46.08571
## [145] 46.51429 42.31429 39.48571 40.54286 45.37143 44.25714 40.74286 51.51429
## [153] 42.20000 43.25714 46.00000 48.60000 30.62857 42.08571 37.42857 41.31429
## [161] 40.34286 42.02857 43.91429 42.05714 45.57143 46.51429 43.65714 47.54286
## [169] 52.57143 39.77143 41.62857 36.91429 41.48571 46.65714 40.02857 41.65714
## [177] 40.88571 47.37143 50.28571 51.48571 39.37143 41.80000 45.42857 40.71429
## [185] 44.57143 38.48571 46.02857 40.68571 42.88571 39.00000 40.65714 46.37143
## [193] 44.28571 45.94286 45.17143 42.25714 44.94286 32.88571 41.14286 39.05714
hist(med, probability = T)
lines(density(med))

Questão 4

Enunciado

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

N <- 300
sd <- 0.5
nc <- (1-0.99)/2
erro <- 0.1
q <- (qnorm(nc, lower.tail = F)^2*sd*N)/((erro^2*(N-1))+(qnorm(nc, lower.tail = F)^2*sd^2))

q
## [1] 214.0877

Questão 5

Enunciado

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

sd <- 45
media <- 400

1-pnorm(500,media,sd)
## [1] 0.01313415

Questão 6

Enunciado

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

load("bdims.RData")

n <- 260 
x <- mean(bdims$hgt[bdims$sex == 0], na.rm = TRUE)
d <- sd(bdims$hgt[bdims$sex == 0], na.rm = TRUE)
nc <- (1-0.985)/2
erro1 <- d/sqrt(n)

#Limite inferior

left <- x-(qnorm(nc,lower.tail =F)*erro1)

#Limite Superior

right <- x+(qnorm(nc,lower.tail = F)*erro1)

cat("[",left,"-",right,"]")
## [ 163.8851 - 165.8596 ]