Relatório Individual Estatística BiVariada
library(rmarkdown)
library(ggplot2)
library(dplyr)
library(corrplot)
library(polycor) library(ltm)
Introdução
Nesta aula, vamos investigar as relações entre variáveis qualitativas e quantitativas, qualitativa e qualitativa, e quantitativa e quantitativa em um conjunto de dados relacionados à saúde e nutrição. Utilizaremos tabelas de contingência, gráficos e medidas estatísticas apropriadas para realizar esta análise.
# Definindo semente para reprodutibilidade set.seed(1233)
#Criando conjunto de dados simulado
n <- 150 dados <- data.frame(
Idade = round(rnorm(n, mean = 40, sd = 15)),
IMC = round(rnorm(n, mean = 25, sd = 4), 1),
Atividade_Fisica = factor(sample(c(“Baixa”, “Moderada”, “Alta”), n, replace = TRUE)),
Fumante = factor(sample(c(“Sim”, “Não”), n, replace = TRUE)),
Colesterol = round(rnorm(n, mean = 200, sd = 30)),
Pressão_Arterial = round(rnorm(n, mean = 120, sd = 15))
)
# Visualizando as primeiras linhas do conjunto de dados head(dados)
Visualizando as primeiras linhas do conjunto de dados
head(dados) # Estatísticas descritivas do IMC por nível de Atividade Física library(dplyr) dados %>% group_by(Atividade_Fisica) %>% summarise( Média_IMC = mean(IMC), Mediana_IMC = median(IMC), Desvio_Padrão_IMC = sd(IMC) ) # Gráfico de boxplot para IMC por nível de Atividade Física library(ggplot2)
p<-ggplot(dados, aes(x = Atividade_Fisica, y = IMC, fill = Atividade_Fisica)) + geom_boxplot() + labs(title = “Boxplot de IMC por Nível de Atividade Física”, x = “Nível de Atividade Física”, y = “IMC”) + theme_minimal()
p1<-ggplotly(p)
p1
library(polycor)
Exemplo de dados para correlação polissérica
Suponha uma variável contínua Y e uma variável ordinal X
polyserial_corr<-polyserial(dados\(IMC, dados\)Atividade_Fisica)
polyserial_corr
#Extraia o valor de r_poly e o erro padrão
Extraia o valor de r_p
r_p<- polyserial_corr
Tamanho da amostra
n <- length(dados$IMC)
Calcule o valor do teste t para r_b
t_value <- r_p*sqrt((n - 2)/(1 - r_p^2))
Calcule o valor-p para o teste t
p_value <- 2 * pt(-abs(t_value), df = n - 2)
Resultados
cat(“Correlação Polisserial aproximada (r_pa):”, r_p, “”)
cat(“Valor t:”, t_value, “”)
cat(“Valor-p:”, p_value, “”)
library(rmarkdown) library(ggplot2) library(dplyr) library(plotly) library(corrplot) library(polycor) library(ltm)
Exemplo de dados para correlação bisserial
Suponha uma variável contínua Y e uma variável dicotômica X
biserial_corr <- biserial.cor(dados\(IMC, dados\)Fumante)
biserial_corr
Extraia o valor de r_poly e o erro padrão
Extraia o valor de r_b
r_b<- biserial_corr
Tamanho da amostra
n <- length(dados$IMC)
Calcule o valor do teste t para r_b
t_value <- r_b*sqrt((n - 2)/(1 - r_b^2))
Calcule o valor-p para o teste t
p_value <- 2 * pt(-abs(t_value), df = n - 2)
Resultados
cat(“Correlação Bisserial (r_b):”, r_b, “”)
cat(“Valor t:”, t_value, “”)
cat(“Valor-p:”, p_value, “”)
Tabela de contingência entre Fumar e Atividade Física
tabela_contingencia <- table(dados\(Fumante, dados\)Atividade_Fisica) tabela_contingencia
Teste do Qui-Quadrado para verificar associação entre Fumar e Atividade Física
teste_qui <- chisq.test(tabela_contingencia) teste_qui
library(plotly) ggplot(dados,aes(x=Colesterol, y=Pressão_Arterial)) + geom_point() + geom_smooth(method = “lm”, col = “blue”, se = FALSE) + labs(title = “Gráfico de Dispersão: Colesterol vs Pressão Arterial”, x = “Colesterol”, y = “Pressão Arterial”) + theme_minimal()
Correlação de Pearson entre Colesterol e Pressão Arterial
correlacao <- cor(dados\(Colesterol, dados\)Pressão_Arterial) correlacao
#Q-Q plot qqnorm(dados\(Colesterol, main = "Q-Q Plot para Verificação de Normalidade") qqline(dados\)Colesterol, col = “red”, lwd = 2) # Adiciona a linha de referência
Exemplo de código em R para o teste de Shapiro-Wilk
shapiro.test(dados$Colesterol)
shapiro.test(dados$Pressão_Arterial)
Aplicando o teste de Bartlett
bartlett.test(dados\(Colesterol~dados\)Atividade_Fisica)
Testa se existe correlacao entre o consumo de sorvete e a temperatura
cor.test( x = dados\(Colesterol, y = dados\)Pressão_Arterial, method = “pearson” )
#Transformando todas as variáveis em numéricas
dados\(Idade <- as.numeric(dados\)Idade) dados\(IMC <- as.numeric(dados\)IMC) dados\(Atividade_Fisica <- as.numeric(dados\)Atividade_Fisica) dados\(Fumante <- as.numeric(dados\)Fumante) dados\(Colesterol <- as.numeric(dados\)Colesterol) dados\(Pressão_Arterial <- as.numeric(dados\)Pressão_Arterial) names(dados)
library(psych)
Mmixed <- mixedCor(data=dados, p=3, c= c(1,2,5,6),d=4, smooth = F,correct = 0) Mmixed
str(Mmixed)
Rho<-Mmixed[[“rho”]] #Considerando apenas os coeficientes de correlação (rho) Rho<-round(Rho, 2) #Considerar 2 casas após a vírgula Rho<-as.data.frame(Rho) #Transformando o conjunto com os valores do coenficiente em “planilha”.
library(ggcorrplot) Correlogram<-ggcorrplot(Rho, type = “upper”, lab = TRUE)
library(plotly) Correlogram<-ggplotly(Correlogram) Correlogram