Skip to content

Commit

Permalink
scripts e apresentacoes aulas
Browse files Browse the repository at this point in the history
  • Loading branch information
azeloc committed Sep 9, 2024
1 parent 464731f commit d5e7fe4
Show file tree
Hide file tree
Showing 29 changed files with 3,222 additions and 4 deletions.
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,17 @@ Fora do horário de aula ou monitoria:

## Slides

| Slide |
|:------|
| Slide |
|:---------------------------------------------------------------------------------------------------|
| [introducao.html](https://curso-r.github.io/202408-intro-estatistica/slides/introducao.html) |
| [probabilidade.html](https://curso-r.github.io/202408-intro-estatistica/slides/probabilidade.html) |

## Scripts utilizados em aula

| Exemplo |
|:--------|
| Exemplo |
|:-------------------------------------------------------------------------------------------------------------|
| [contagens.R](https://curso-r.github.io/202408-intro-estatistica/exemplos_de_aula/contagens.R) |
| [simulacoes_dados.R](https://curso-r.github.io/202408-intro-estatistica/exemplos_de_aula/simulacoes_dados.R) |

## Práticas

Expand Down
151 changes: 151 additions & 0 deletions exemplos_de_aula/contagens.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@

# Dados -------------------------------------------------------------------

dados_rolagens <- readRDS("dados/experimento_dado.rds")


# Fazendo contagens -------------------------------------------------------

X <- dados_rolagens$resultado

table(X)
# é o jeito de contar do R básico

contagens <- dados_rolagens |>
count(resultado)
# esse é o jeito do tidyverse

# Fazer o gráfico ---------------------------------------------------------

# Jeito 1
contagens |>
ggplot(aes(x = resultado, y = n)) +
geom_col(fill = "royalblue") +
theme_bw() +
labs(x = "Resultado do dado", y = "Frequência do resultado")
# esse é o jeito com ggplot que é bom porque é flexível

# Jeito 2
dados_rolagens |>
ggplot(aes(x = resultado)) +
geom_bar(fill = "royalblue") +
theme_bw() +
labs(x = "Resultado do dado", y = "Frequência do resultado")

# dados de temperatura ----------------------------------------------------

dados_temperatura <- readRDS("dados/chuvas_A701.rds")

dados_temperatura |>
ggplot(aes(x = `Tair_mean (c)`)) +
geom_bar() +
theme_bw()

dados_temperatura |>
count(`Tair_mean (c)`)


# Como fazer histogramas em R ---------------------------------------------

# Jeito 1: ggplot2

min(dados_temperatura$`Tair_mean (c)`)
max(dados_temperatura$`Tair_mean (c)`)

(25.15-16.75833)/5

dados_temperatura |>
ggplot(aes(x = `Tair_mean (c)`)) +
geom_histogram(
bins = 5
)
# quebra as faixas uniformemente entre o minimo e maximo

dados_temperatura |>
ggplot(aes(x = `Tair_mean (c)`)) +
geom_histogram(
fill = "royalblue",
color = "white",
binwidth = 1,
center = 0.5
) +
scale_x_continuous(
breaks = seq(16, 26),
minor_breaks = 1) +
theme_bw()
# quebra as faixas de acordo com a interpretação da faixa

# Jeito 2: R básico

hist(dados_temperatura$`Tair_mean (c)`, breaks = "Sturges")

# o R básico mistura uma fórmula pro numero de quebras
# com um número "bonitinho"
nclass.Sturges

ceiling(log2(31)+1)

### existem outros jeitos de criar faixas?

hist(dados_temperatura$`Tair_mean (c)`, breaks = "FD")

# Comparação com histogramas ----------------------------------------------

dados_peso <- readRDS("dados/dados_pesos.rds")

hist(dados_peso$wt)

dados_peso |>
ggplot(aes(x = wt)) +
geom_histogram()
# começou feio

dados_peso |>
ggplot(aes(x = wt)) +
geom_histogram(
binwidth = 5, center = 2.5, fill = 'royalblue', color = 'white'
)

dados_peso |>
ggplot(aes(x = wt, fill = genero)) +
geom_histogram(
binwidth = 5, center = 2.5, color = 'white'
)

dados_peso |> count(genero)

dados_peso |>
ggplot(aes(x = wt, fill = genero)) +
geom_histogram(
binwidth = 5, center = 2.5, color = 'white', position = 'dodge'
)

# criando nosso proprio grafico de contagens para histograma --------------

dados_peso |>
mutate(
faixa_peso = cut(wt, seq(0, 100, 5))
) |>
count(genero, faixa_peso) |>
group_by(genero) |>
mutate(
p = n/sum(n)
) |>
ggplot(aes(x = faixa_peso, y = p, fill = genero)) +
geom_col(position = 'dodge') +
scale_y_continuous(labels = scales::percent) +
theme_minimal()
# fazendo na mão


# Histogramas de variaveis qualitativas? ----------------------------------

dados_peso |>
mutate(
genero = factor(genero, c("Mulher", "Homem"))
) |>
ggplot(aes(x = genero)) +
geom_bar()

# sim! mas o R precisa ou receber ou criar uma ordem
# entre os valores para conseguir plotar no X
137 changes: 137 additions & 0 deletions exemplos_de_aula/simulacoes_dados.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# Dados -------------------------------------------------------------------

dados_rolagens <- readRDS("dados/experimento_dado.rds")

# Fazendo contagens -------------------------------------------------------

X <- dados_rolagens$resultado

table(X)
# é o jeito de contar do R básico

contagens <- dados_rolagens |>
count(resultado)

# histograma
dados_rolagens |>
ggplot(aes(x = resultado)) +
geom_bar()

# média
mean(dados_rolagens$resultado)

#amplitude
max(dados_rolagens$resultado)-min(dados_rolagens$resultado)

#desvio absoluto medio
mean(abs(dados_rolagens$resultado-3.51))

# simulacoes --------------------------------------------------------------

NN <- 100

infinitos_dados <- sample(
1:6,
size = NN,
replace = TRUE,
prob = c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6))

hist(infinitos_dados)

mean(infinitos_dados)

max(infinitos_dados)-min(infinitos_dados)

mean(abs(infinitos_dados - mean(infinitos_dados)))

# dois dados --------------------------------------------------------------

BB <- 100000

dado1 <- sample(
1:6,
size = BB,
replace = TRUE,
prob = c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6))

dado2 <- sample(
1:6,
size = BB,
replace = TRUE,
prob = c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6))

infinitas_somas <- dado1+dado2

hist(infinitas_somas)

mean(infinitas_somas)

max(infinitas_somas)-min(infinitas_somas)

mean(abs(infinitas_somas - mean(infinitas_somas)))


# dados forjados ----------------------------------------------------------

BB <- 10000000

dado1_forjado <- sample(
1:6,
size = BB,
replace = TRUE,
prob = c(1/6, 1/6, 1/6, 1/6, 1/6-1/7, 1/6+1/7))

dado2_forjado <- sample(
1:6,
size = BB,
replace = TRUE,
prob = c(1/6, 1/6, 1/6, 1/6, 1/6-1/10, 1/6+1/10))

infinitas_somas_forjada <- dado1_forjado+dado2_forjado

hist(infinitas_somas_forjada)

# distribuicao normal -----------------------------------------------------

dados_temperatura <- readRDS("dados/chuvas_A701.rds")

dados_temperatura |>
ggplot(aes(x = `Tair_mean (c)`)) +
geom_histogram(
bins = 7,
fill = "royalblue",
color = "white"
)

media_temperatura <- mean(dados_temperatura$`Tair_mean (c)`)
desv_pad_temperatura <- sd(dados_temperatura$`Tair_mean (c)`)

media_temperatura
desv_pad_temperatura

# o que é esperado de um histograma de variavel quantitativa conti --------

NN <- 8000000

amostra_infinita_de_temperatura <- rnorm(
NN,
media_temperatura,
desv_pad_temperatura)

hist(amostra_infinita_de_temperatura, breaks = "FD")

mean(amostra_infinita_de_temperatura)
sd(amostra_infinita_de_temperatura)

# comparando o observado com uma normal teorica razoavel ------------------

hist(dados_temperatura$`Tair_mean (c)`, freq = FALSE)

dados_ordenados <- sort(dados_temperatura$`Tair_mean (c)`)

# codigo que vai plotar a normal:
lines(
dados_ordenados,
dnorm(dados_ordenados, media_temperatura, desv_pad_temperatura),
col = 'red')

Loading

0 comments on commit d5e7fe4

Please sign in to comment.