Meu primeiro Relatório

TÓPICO 1

Média: É o valor médio de uma amostragem, no futebol pode-se calcular a média de qualquer estatística durante uma temporada por exemplo.

N: População n: Amostra

EXERCÍCIO: Buscar o calculo de uma amostra

  • Simulação de dados para proporções. Aqui simulamos dois grupos com diferentes proporções de sucesso:
# Definindo o tamanho de cada grupo
set.seed(123)  # Para reprodutibilidade
n <- 100  # Tamanho de cada grupo

# Simulando proporções de sucesso para dois grupos
grupo1 <- rbinom(n, 1, 0.50)  # Grupo 1 com 50% de sucesso
grupo2 <- rbinom(n, 1, 0.60)  # Grupo 2 com 60% de sucesso

# Verificando as proporções
prop_grupo1 <- mean(grupo1)
prop_grupo2 <- mean(grupo2)

# Exibindo as proporções simuladas
cat("Proporção Grupo 1:", prop_grupo1, "\n")
## Proporção Grupo 1: 0.47
cat("Proporção Grupo 2:", prop_grupo2, "\n")
## Proporção Grupo 2: 0.62
# Calculando o tamanho da amostra necessário
result <- power.prop.test(p1 = prop_grupo1, p2 = prop_grupo2, power = 0.80, sig.level = 0.05)
cat("Tamanho da amostra necessário:", result$n, "\n")
## Tamanho da amostra necessário: 171.8231

Conceito de Proporção

A proporção em estatística refere-se à fração ou razão de um subconjunto em relação ao total de elementos de um conjunto. Ela é usada para expressar a parte de um todo que atende a uma determinada característica.

Fórmula da Proporção:

A proporção é dada pela fórmula:

\[ \text{Proporção} = \frac{\text{Número de casos favoráveis}}{\text{Número total de casos}} \]

Exemplos:

1. Proporção de pessoas que usam óculos em uma turma:

Se há 10 pessoas que usam óculos em uma turma de 50 alunos, a proporção é:

\[ \frac{10}{50} = 0.20 \quad \text{(ou 20%)} \]

Isso significa que 20% dos alunos da turma usam óculos.

2. Proporção de vitórias de um time:

Se um time de futebol jogou 30 partidas e venceu 18 delas, a proporção de vitórias é:

\[ \frac{18}{30} = 0.60 \quad \text{(ou 60%)} \]

Nesse caso, 60% dos jogos resultaram em vitórias.

Aplicações da Proporção:

  • Estudos de prevalência: Exemplo, a proporção de pessoas que têm uma determinada doença em uma população.
  • Pesquisas eleitorais: Proporção de pessoas que votariam em um candidato específico.
  • Teste de hipóteses: Comparar proporções em grupos diferentes, como a proporção de clientes satisfeitos em duas empresas.

Em estatística inferencial, as proporções são frequentemente usadas para comparar subgrupos e testar hipóteses. Quando você tem uma amostra de dados, pode calcular a proporção dentro da amostra e usar isso para fazer inferências sobre a população maior.

  • Simulação de dados para proporções. Aqui, simulamos dois grupos com diferentes proporções de sucesso:
# Definindo o tamanho de cada grupo
set.seed(123)  # Para reprodutibilidade
n <- 100  # Tamanho de cada grupo

# Simulando proporções de sucesso para dois grupos
grupo1 <- rbinom(n, 1, 0.50)  # Grupo 1 com 50% de sucesso
grupo2 <- rbinom(n, 1, 0.60)  # Grupo 2 com 60% de sucesso

# Verificando as proporções
prop_grupo1 <- mean(grupo1)
prop_grupo2 <- mean(grupo2)

# Exibindo as proporções simuladas
cat("Proporção Grupo 1:", prop_grupo1, "\n")
## Proporção Grupo 1: 0.47
cat("Proporção Grupo 2:", prop_grupo2, "\n")
## Proporção Grupo 2: 0.62
# Calculando o tamanho da amostra necessário
result <- power.prop.test(p1 = prop_grupo1, p2 = prop_grupo2, power = 0.80, sig.level = 0.05)
cat("Tamanho da amostra necessário:", result$n, "\n")
## Tamanho da amostra necessário: 171.8231
# Definindo o tamanho de cada grupo e parâmetros
set.seed(123)  # Para reprodutibilidade
n <- 100  # Tamanho de cada grupo
media_grupo1 <- 5  # Média do grupo 1
media_grupo2 <- 6  # Média do grupo 2
desvio_padrao <- 2  # Desvio padrão comum

# Simulando dados normalmente distribuídos para os dois grupos
grupo1 <- rnorm(n, mean = media_grupo1, sd = desvio_padrao)
grupo2 <- rnorm(n, mean = media_grupo2, sd = desvio_padrao)

# Calculando as médias e os desvios padrão simulados
mean_grupo1 <- mean(grupo1)
mean_grupo2 <- mean(grupo2)
sd_grupo1 <- sd(grupo1)
sd_grupo2 <- sd(grupo2)

# Exibindo as estatísticas simuladas
cat("Média Grupo 1:", mean_grupo1, "Desvio Padrão:", sd_grupo1, "\n")
## Média Grupo 1: 5.180812 Desvio Padrão: 1.825632
cat("Média Grupo 2:", mean_grupo2, "Desvio Padrão:", sd_grupo2, "\n")
## Média Grupo 2: 5.784906 Desvio Padrão: 1.933973
# Calculando o tamanho da amostra necessário
result <- power.t.test(delta = mean_grupo2 - mean_grupo1, sd = desvio_padrao, power = 0.80, sig.level = 0.05, type = "two.sample")
cat("Tamanho da amostra necessário:", result$n, "\n")
## Tamanho da amostra necessário: 173.0287

Explicação dos resultados

  • No exemplo de proporções, o código simula dois grupos com diferentes probabilidades de sucesso e, com base nisso, calcula o tamanho da amostra necessário para detectar uma diferença significativa.
  • No exemplo de médias, ele simula duas populações normais com diferentes médias, calcula as estatísticas descritivas e usa essas informações para estimar o tamanho da amostra necessário

Exercício prático:

 # Carregar as bibliotecas necessárias
library(rvest)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(ggplot2)

# URL da página com a tabela
url <- "https://fbref.com/pt/equipes/2ff539f3/2024/all_comps/Colo-Colo-Estatisticas-Todos-os-campeonatos"

# Ler a página HTML e extrair as tabelas
page <- read_html(url)
tables <- page %>% html_nodes("table") %>% html_table()

# Selecionar a primeira tabela e definir o cabeçalho
data <- tables[[1]]
colnames(data) <- data[1, ] 
data <- data[-1, ] 
data
## # A tibble: 38 × 34
##    Jogador Nação Pos.  Idade MP    Inícios Min.  `90s` Gols  Assis. `G+A` `G-PB`
##    <chr>   <chr> <chr> <chr> <chr> <chr>   <chr> <chr> <chr> <chr>  <chr> <chr> 
##  1 Érick … cl C… ZG    30-1… 33    32      2.810 31.2  3     3      6     3     
##  2 Brayan… cl C… G     29-2… 31    31      2.785 30.9  0     0      0     0     
##  3 Esteba… cl C… LT,ZG 34-1… 30    29      2.520 28.0  1     2      3     1     
##  4 Maximi… uy U… ZG    27-1… 30    29      2.455 27.3  3     0      3     3     
##  5 Carlos… cl C… LT,AT 24-1… 31    29      2.443 27.1  8     5      13    3     
##  6 Leonar… ar A… LT    33-1… 33    27      2.296 25.5  2     5      7     2     
##  7 Alan S… uy U… ZG    22-2… 24    23      2.014 22.4  0     1      1     0     
##  8 Óscar … cl C… ZG    34-0… 29    22      1.948 21.6  2     0      2     2     
##  9 Emilia… sy S… ZG    29-1… 32    20      1.904 21.2  0     0      0     0     
## 10 Arturo… cl C… LT,AT 37-1… 24    23      1.887 21.0  4     1      5     2     
## # ℹ 28 more rows
## # ℹ 22 more variables: PB <chr>, PT <chr>, CrtsA <chr>, CrtV <chr>, xG <chr>,
## #   npxG <chr>, xAG <chr>, `npxG+xAG` <chr>, PrgC <chr>, PrgP <chr>,
## #   PrgR <chr>, Gols <chr>, Assis. <chr>, `G+A` <chr>, `G-PB` <chr>,
## #   `G+A-PB` <chr>, xG <chr>, xAG <chr>, `xG+xAG` <chr>, npxG <chr>,
## #   `npxG+xAG` <chr>, Partidas <chr>
# Corrigir nomes duplicados de colunas
names(data) <- make.names(names(data), unique = TRUE)

# Separar a idade em anos e dias
data <- data %>%
  mutate(
    Idade = as.numeric(sub("-.*", "", Idade)),  # Extrair apenas a idade em anos
    Gols = as.numeric(Gols),
    Assis. = as.numeric(Assis.),
    Min. = as.numeric(gsub("\\.", "", Min.))  # Remover pontos para conversão
  )

# Criar uma nova variável de faixa etária agrupada em intervalos de 5 anos
data <- data %>%
  mutate(Faixa_Idade = cut(Idade, breaks = seq(15, 45, by = 5), include.lowest = TRUE))
data
## # A tibble: 38 × 35
##    Jogador  Nação Pos.  Idade MP    Inícios  Min. X90s   Gols Assis. G.A   G.PB 
##    <chr>    <chr> <chr> <dbl> <chr> <chr>   <dbl> <chr> <dbl>  <dbl> <chr> <chr>
##  1 Érick W… cl C… ZG       30 33    32       2810 31.2      3      3 6     3    
##  2 Brayan … cl C… G        29 31    31       2785 30.9      0      0 0     0    
##  3 Esteban… cl C… LT,ZG    34 30    29       2520 28.0      1      2 3     1    
##  4 Maximil… uy U… ZG       27 30    29       2455 27.3      3      0 3     3    
##  5 Carlos … cl C… LT,AT    24 31    29       2443 27.1      8      5 13    3    
##  6 Leonard… ar A… LT       33 33    27       2296 25.5      2      5 7     2    
##  7 Alan Sa… uy U… ZG       22 24    23       2014 22.4      0      1 1     0    
##  8 Óscar O… cl C… ZG       34 29    22       1948 21.6      2      0 2     2    
##  9 Emilian… sy S… ZG       29 32    20       1904 21.2      0      0 0     0    
## 10 Arturo … cl C… LT,AT    37 24    23       1887 21.0      4      1 5     2    
## # ℹ 28 more rows
## # ℹ 23 more variables: PB <chr>, PT <chr>, CrtsA <chr>, CrtV <chr>, xG <chr>,
## #   npxG <chr>, xAG <chr>, npxG.xAG <chr>, PrgC <chr>, PrgP <chr>, PrgR <chr>,
## #   Gols.1 <chr>, Assis..1 <chr>, G.A.1 <chr>, G.PB.1 <chr>, G.A.PB <chr>,
## #   xG.1 <chr>, xAG.1 <chr>, xG.xAG <chr>, npxG.1 <chr>, npxG.xAG.1 <chr>,
## #   Partidas <chr>, Faixa_Idade <fct>
df=data_frame(gols = data$Gols, min=data$Min. )
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## ℹ Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
df
## # A tibble: 38 × 2
##     gols   min
##    <dbl> <dbl>
##  1     3  2810
##  2     0  2785
##  3     1  2520
##  4     3  2455
##  5     8  2443
##  6     2  2296
##  7     0  2014
##  8     2  1948
##  9     0  1904
## 10     4  1887
## # ℹ 28 more rows
ggplot(df,aes(x=gols,y=min)) + 
  geom_point()
## Warning: Removed 4 rows containing missing values or values outside the scale range
## (`geom_point()`).

#calculo
gol = 4


prop = gol > df$gols
prop 
##  [1]  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE
## [13]  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
## [25]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE    NA
## [37]    NA    NA
table(prop)
## prop
## FALSE  TRUE 
##     6    29

TÓPICO 2

Coeficiente Amostral e coeficiente de variação: Variância Amostral Desvio Padrão

P = A/B P: Probabilidade A: Amostra B: População / Total

P = 11/28 = 39% de chance do evento acontecer