# ==============================================================================
# SCRIPT COMPLETO: ESTATÍSTICA CLÁSSICA, TRANSFORMAÇÃO E MÉTODOS ROBUSTOS
# ==============================================================================

# --- PASSO 0: CRIAÇÃO E ESTRUTURAÇÃO DE TODOS OS DADOS SIMULADOS ---

# Cenário 1: 2 Espécies de Peixes (Distribuição Normal)
especie <- c(rep("Tucunare", 20), rep("Cachorra", 20))
comprimento <- c(452, 478, 460, 445, 489, 465, 450, 472, 463, 458, 441, 480, 467, 
                 455, 449, 471, 466, 453, 461, 475, 420, 435, 415, 442, 430, 411, 
                 428, 439, 425, 418, 431, 422, 448, 413, 427, 436, 419, 424, 433, 429)
dados_peixe <- data.frame(Espece_Peixe = as.factor(especie), Comprimento_mm = comprimento)

# Cenário 2: 4 Dietas de Cavalos (Distribuição Normal)
dieta <- c(rep("A", 15), rep("B", 15), rep("C", 15), rep("D", 15))
massa <- c(450100, 455200, 448500, 452000, 461000, 449800, 453400, 457000, 446000, 451500, 454000, 448900, 456200, 450500, 452800,
           470200, 475000, 468900, 472500, 481000, 469500, 473000, 477200, 466000, 471800, 474500, 468000, 476400, 470900, 473100,
           435000, 439200, 433100, 436800, 445000, 434200, 437500, 441000, 431000, 436200, 438900, 433500, 442400, 435800, 437900,
           490500, 495800, 488900, 492100, 502000, 489500, 493400, 497500, 486000, 491800, 494900, 488200, 496400, 490900, 493100)
dados_cavalo <- data.frame(Dieta_Cavalo = as.factor(dieta), Massa_g = massa)

# Cenário 3: 4 Dietas de Cavalos (Distribuição NÃO Normal / Assimétrica)
forrageamento <- c(12.4, 45.2, 8.1, 19.5, 112.4, 5.3, 27.1, 63.8, 3.2, 16.7, 35.4, 6.9, 52.1, 10.5, 22.3,
                   155.2, 540.1, 92.4, 230.5, 1240.8, 65.3, 310.7, 710.2, 41.9, 198.4, 415.3, 82.1, 605.4, 122.6, 255.9,
                   2.1, 6.4, 1.5, 3.1, 15.8, 0.9, 4.2, 8.9, 0.5, 2.7, 5.3, 1.2, 7.6, 1.8, 3.6,
                   410.5, 1350.2, 255.4, 610.9, 3400.6, 185.2, 820.4, 1890.1, 115.7, 530.3, 1110.5, 222.8, 1640.4, 340.1, 705.6)
dados_assimetricos <- data.frame(Dieta_Cavalo = as.factor(dieta), Atividade_Forrageamento_assimetrica = forrageamento)


# --- PASSO 1: TESTE T DE STUDENT (2 GRUPOS) ---
cat("\n=========================================================\n")
cat("PASSO 1: Teste t de Student para Comprimento dos Peixes\n")
cat("=========================================================\n")
teste_t <- t.test(Comprimento_mm ~ Espece_Peixe, data = dados_peixe, var.equal = TRUE)
print(teste_t)


# --- PASSO 2: TESTE F DE RAZÃO DE VARIÂNCIAS ---
cat("\n=========================================================\n")
cat("PASSO 2: Teste F de Homocedasticidade (Variâncias)\n")
cat("=========================================================\n")
teste_var <- var.test(Comprimento_mm ~ Espece_Peixe, data = dados_peixe)
print(teste_var)


# --- PASSO 3: ANOVA PARA 2 GRUPOS E DEMONSTRAÇÃO MATEMÁTICA ---
cat("\n=========================================================\n")
cat("PASSO 3: ANOVA (2 Grupos) e Demonstração F = t²\n")
cat("=========================================================\n")
anova_2grupos <- aov(Comprimento_mm ~ Espece_Peixe, data = dados_peixe)
summary_anova2 <- summary(anova_2grupos)
print(summary_anova2)

# Extração e cálculo da equivalência
t_quadrado <- (teste_t$statistic)^2
f_obtido <- summary_anova2[[1]]["Espece_Peixe", "F value"]

cat("\n>>> DEMONSTRAÇÃO MATEMÁTICA <<<\n")
cat("Valor de t obtido no Teste t: ", teste_t$statistic, "\n")
cat("Valor de (t) ao quadrado:     ", t_quadrado, "\n")
cat("Valor de F obtido na ANOVA:   ", f_obtido, "\n")
cat("A relação F = t² é idêntica?  ", all.equal(as.numeric(t_quadrado), as.numeric(f_obtido)), "\n")


# --- PASSO 4: ANOVA PARA O CENÁRIO 2 (4 GRUPOS) ---
cat("\n=========================================================\n")
cat("PASSO 4: ANOVA para Massa dos Cavalos (4 Dietas Normais)\n")
cat("=========================================================\n")
anova_4grupos <- aov(Massa_g ~ Dieta_Cavalo, data = dados_cavalo)
print(summary(anova_4grupos))


# --- PASSO 5: QUEBRA DE NORMALIDADE, TRANSFORMAÇÃO E ANOVA ---
cat("\n=========================================================\n")
cat("PASSO 5: Tratamento de Dados Assimétricos (Não Normais)\n")
cat("=========================================================\n")

# Testando dados originais
shapiro_original <- shapiro.test(dados_assimetricos$Atividade_Forrageamento_assimetrica)
cat("1. Shapiro-Wilk (Dados Originais) p-value:", shapiro_original$p.value, " (Alvo: < 0.05)\n")

# Aplicando Log10
dados_assimetricos$Forrageamento_log <- log10(dados_assimetricos$Atividade_Forrageamento_assimetrica)

# Testando dados transformados
shapiro_transformado <- shapiro.test(dados_assimetricos$Forrageamento_log)
cat("2. Shapiro-Wilk (Dados Transformados) p-value:", shapiro_transformado$p.value, " (Alvo: > 0.05)\n")

# ANOVA nos dados corrigidos
anova_transformada <- aov(Forrageamento_log ~ Dieta_Cavalo, data = dados_assimetricos)
cat("\n3. Resultado da ANOVA após transformação logarítmica:\n")
print(summary(anova_transformada))


# --- PASSO 6: TESTE DE MANN-WHITNEY ---
cat("\n=========================================================\n")
cat("PASSO 6: Alternativa Não Paramétrica (Mann-Whitney)\n")
cat("=========================================================\n")
teste_mw <- wilcox.test(Comprimento_mm ~ Espece_Peixe, data = dados_peixe)
print(teste_mw)

# NOTA COMPLEMENTAR:
# O Passo 6b (testes permutacionais com o pacote 'coin') foi omitido deste script 
# porque o compilador online 'myCompiler' possui um ambiente fechado e limitado, 
# não permitindo a instalação externa de pacotes de terceiros como o 'coin'. 
# Os passos acima cobrem 100% da análise estatística clássica e de transformações!x <- seq(-pi, pi, 0.1)
plot(x, cos(x))

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: