Os seguintes objetos são mascarados por 'package:stats':
filter, lag
Os seguintes objetos são mascarados por 'package:base':
intersect, setdiff, setequal, union
Code
library(plotly)
Anexando pacote: 'plotly'
O seguinte objeto é mascarado por 'package:ggplot2':
last_plot
O seguinte objeto é mascarado por 'package:stats':
filter
O seguinte objeto é mascarado por 'package:graphics':
layout
Code
library(corrplot)
corrplot 0.95 loaded
Code
library(polycor)library(ltm)
Carregando pacotes exigidos: MASS
Anexando pacote: 'MASS'
O seguinte objeto é mascarado por 'package:plotly':
select
O seguinte objeto é mascarado por 'package:dplyr':
select
Carregando pacotes exigidos: msm
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.
Dados simulados.
Code
# Definindo semente para reprodutibilidadeset.seed(1233)# Criando conjunto de dados simuladon <-150dados <-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 dadoshead(dados)
Idade IMC Atividade_Fisica Fumante Colesterol Pressão_Arterial
1 47 23.3 Moderada Não 168 118
2 31 23.6 Moderada Não 213 93
3 39 18.3 Moderada Não 207 112
4 17 32.6 Moderada Não 162 89
5 37 21.8 Moderada Sim 197 109
6 15 29.0 Alta Não 209 104
Observações:
As medidas destritiva MÉDIA, MEDIANA, QUARTIS e PERCENTIS devem ser calculados a partir de variáveis quantitativas
Para variável qualitativa ou categórica pode-se aplicar as medidas descritivas: MODA.
Relação entre Variáveis Qualitativas e Quantitativas
Exemplo: Relação entre Atividade Física e IMC
Para examinar a associação entre a variável qualitativa (Atividade_Fisica) e a variável quantitativa (IMC), podemos utilizar análises estatísticas descritivas resultantes do cruzamento dessas variáveis. O uso de um gráfico boxplot representa uma ferramenta visual eficaz para fornecer evidências dessa relação, facilitando a interpretação das diferenças de distribuição do (IMC) entre os diferentes níveis de (Atividade_Fisica) v.
Code
# Estatísticas descritivas do IMC por nível de Atividade Físicalibrary(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
Code
# Gráfico de boxplot para IMC por nível de Atividade Físicalibrary(ggplot2)library(plotly)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
Gráfico 1: Boxplot de IMC por Nível de Atividade Física
Interpretação:
O gráfico de boxplot exibe a distribuição do Índice de Massa Corporal (IMC) para cada nível de atividade física (“Baixa”, “Moderada”, “Alta”). Ele mostra os seguintes pontos principais:
Mediana (linha central): Representa o valor mediano de IMC em cada grupo de atividade física.
Não há expressiva diferença entre o IMC mediano dos diferentes níveis de atividade física.
Dispersão (caixa e bigodes): Indica a variação do IMC em cada grupo.
A atividade física baixa apresenta uma menor variação no IMC, sugerindo que pessoas com atividade física baixa têm IMCs menos variados, enquanto a atividade física modera e atividade física alta têm a maior dispersão.
Outliers (pontos fora da caixa e dos bigodes): Indivíduos com valores de IMC muito acima ou abaixo do esperado para cada grupo.
Alguns outliers são visíveis em ambos os grupos , indicando a presença de indivíduos com IMC mais baixos nestes grupos.
Conclusão: Os dados demonstram uma discreta diferença entre os níveis de atividade física associados ao IMC.
IMC está associado com a frequência de atividade física ?
Para investigar a associação entre uma variável qualitativa (como Atividade Física, caso seja dicotômica ou ordinal) e uma variável quantitativa contínua (como IMC), o coeficientie de correlação bisserial ou correlação polissérica são apropriados. Para calcular esses coeficientes no R, você pode usar pacotes como polycor, que oferece funções para obter tanto a correlação bisserial quanto a polissérica.
Correlação polissérica
Esse coeficiente é indicado se Atividade Física tiver mais de dois níveis ordenados (como “Nenhuma”, “Moderada”, “Alta”). Ele generaliza a correlação bisserial para uma variável qualitativa com categorias ordenadas e mede a associação entre uma variável contínua e uma qualitativa ordinal, assumindo uma normalidade latente subjacente.
Code
# Exemplo de dados para correlação polissérica# Suponha uma variável contínua Y e uma variável ordinal Xlibrary(polycor)polyserial_corr <-polyserial(dados$IMC,dados$Atividade_Fisica )polyserial_corr
[1] 0.006209876
Interpretação dos Coeficientes de Correlação
Para interpretar os coeficientes de correlação bisserial e polissérica e testar sua significância, segue:
**Correlação Polissérica ( $r_poly$): O coeficiente polissérico mede a associação entre uma variável contínua e uma variável ordinal, assumindo que a variável ordinal representa uma discretização de uma distribuição normal subjacente.
Valores altos de $r_ply$ (próximos de 1 ou -1) indicam uma associação forte entre a variável contínua e a variável ordinal, sugerindo uma mudança substancial nos valores médios ou na distribuição da variável contínua conforme as categorias da variável ordinal.
Valores baixos (próximos de 0) indicam uma associação fraca ou inexistente, sugerindo que as categorias da variável ordinal não correspondem a variações sistemáticas na variável contínua.
Testes de Significância
Para verificar a significância desses coeficientes, você pode aplicar testes estatísticos apropriados que avaliam a hipótese nula de que a correlação é zero (ou seja, que não há associação entre as variáveis).
Correlação Polissérica:
A significância do coeficiente de correlação polissérica é normalmente testada via estimativas de erro padrão obtidas durante o ajuste da correlação. Essas estimativas podem ser usadas para construir um teste z:
z=rpErroP
O coeficiente polissérico. Esse teste z pode ser usado para calcular o valor-p, assumindo uma distribuição normal padrão para o teste de significância.
No pacote polycor em R, a função polyserial() fornece uma estimativa do erro padrão para a correlação polissérica, permitindo realizar o teste de significância.
Esses métodos ajudam a avaliar se os coeficientes são estatisticamente diferentes de zero, confirmando a existência de uma associação significativa entre as variáveis contínua e qualitativa.
Code
library(polycor)# Extraia o valor de r_poly e o erro padrão# Extraia o valor de r_br_p <- polyserial_corr# Tamanho da amostran <-length(dados$IMC)# Calcule o valor do teste t para r_bt_value <- r_p*sqrt((n -2)/(1- r_p^2))# Calcule o valor-p para o teste tp_value <-2*pt(-abs(t_value), df = n -2)# Resultadoscat("Correlação Polisserial aproximada (r_p):", r_p, "\n")
Escolhido o nível de significância ,geralmente 5 % (0,05).
Hípoteses do Teste :
H0:rp=0
H1:rp≠0
Possíveis interpretações
Se o valor p<0,05, rejeita-se H0 e conclui-se que o coeficiente de correlação polissérico estimado é estattísticamente significativo .
Se o valor p0,05 , NÃO rejeita-se H0 e conclui-se que o coeficiente de correlação polissérico estimado NÃO É estatísticamente significativo .
Conclusão para o teste aplicado: De acordo com o teste t , não reijeitamos a hipótese de que o coeficiente possérico estimado é igual a zero , logo , concluímos que a correlação estimada não é estatisticamente significativa.
Correlação bisserial
Esse coeficiente é adequado se Fumante for dicotômica (com dois níveis, como “Sim” e “Não”). Ele mede a associação entre uma variável contínua (como IMC) e uma variável binária que se supõe representar uma divisão de uma variável latente normal subjacente. O coeficiente bisserial estima a correlação subjacente assumindo que a variável dicotômica resulta de uma “dichotomização” de uma distribuição normal.
Code
library(ltm)
Code
# Exemplo de dados para correlação bisserial# Suponha uma variável contínua Y e uma variável dicotômica Xbiserial_corr <-biserial.cor(dados$IMC, dados$Fumante)biserial_corr
[1] 0.09718517
Testando Significância
Code
# Extraia o valor de r_b e o erro padrão# Extraia o valor de r_br_b<- biserial_corr# Tamanho da amostran <-length(dados$IMC)# Calcule o valor do teste t para r_bt_value <- r_b*sqrt((n -2)/(1- r_b^2))# Calcule o valor-p para o teste tp_value <-2*pt(-abs(t_value), df = n -2)# Resultadoscat("Correlação Bisseerial (r_b):", r_b, "\n")
Correlação Bisseerial (r_b): 0.09718517
Code
cat("Valor t:", t_value, "\n")
Valor t: 1.187932
Code
cat("Valor-p:", p_value, "\n")
Valor-p: 0.2367631
Testando a hipótese de Associação entre o hábito de fumar e atividade física - Teste Qui-quadrado
Pressuposições do Teste Qui-Quadrado
O teste qui-quadrado possui algumas pressuposições importantes que devem ser verificadas para garantir a validade do teste. Essas pressuposições são as seguintes:
Amostra Aleatória: A amostra de dados deve ser obtida por um processo de amostragem aleatória, garantindo que cada observação seja independente das outras.
Tamanho da Amostra Adequado: As frequências esperadas em cada célula da tabela de contingência devem ser maiores ou iguais a 5. Caso contrário, o teste qui-quadrado pode não ser apropriado.
Medida de Associação: O teste qui-quadrado mede a associação entre as variáveis, mas não indica a direção ou a magnitude dessa associação.
Variáveis Categóricas: As variáveis analisadas devem ser qualitativas (categóricas), e a análise se dá por meio de uma tabela de contingência.
Essas hipóteses e pressuposições são essenciais para realizar o teste qui-quadrado de forma correta e interpretar seus resultados adequadamente.
Hipóteses e Pressuposições para o Teste Qui-Quadrado
Nesta seção, descrevemos as hipóteses e as pressuposições envolvidas no teste qui-quadrado, aplicado para investigar a associação entre as variáveis “Fumar” e “Atividade Física”.
Hipóteses do Teste Qui-Quadrado
O teste qui-quadrado é utilizado para verificar se há uma associação entre duas variáveis qualitativas. No caso deste estudo, estamos interessados em avaliar a relação entre ser fumante e o nível de atividade física.
Hipótese Nula (H₀): As variáveis “Fumar” e “Atividade Física” são independentes, ou seja, a proporção de fumantes não difere entre os diferentes níveis de atividade física.
$ H_0:$ O hábito de fumar e Atividade Física são independentes. (Associação não significativa)
$ H_1:$ O hábito de fumar e Atividade Física são dependentes. (Associação significativa)
Após realizar o teste qui-quadrado, avaliamos o valor-p obtido:
Se o valor-p for menor que o nível de significância (geralmente 0,05), rejeitamos a hipótese nula, o que indica que existe uma associação significativa entre “Fumar” e “Atividade Física”.
Se o valor-p for maior a 0,05, não rejeitamos a hipótese nula, ou seja, não temos evidências suficientes para concluir que as variáveis são dependentes.
Conclusão: De acordo com teste qui-quadrado , o hábito de fumo não está associado com Atividade física ao nível de 5 % de significância .
Relação entre Variáveis Qualitativa e Qualitativa
Exemplo: Relação entre Fumar e Atividade Física
Para investigar a relação entre duas variáveis qualitativas, podemos usar uma tabela de contingência entre as variáveis Fumante e Atividade_Física.
Code
# Tabela de contingência entre Fumar e Atividade Físicatabela_contingencia <-table(dados$Fumante, dados$Atividade_Fisica)tabela_contingencia
Alta Baixa Moderada
Não 28 22 35
Sim 21 13 31
Interpretação:
A tabela de contingência fornece a contagem de fumantes e não fumantes dentro de cada nível de atividade física. A partir dessa tabela, podemos observar:
Atividade Física Baixa: Parece ter uma proporção menor de fumantes comparado aos níveis de atividade física moderada e alta.
Atividade Física Moderada: Apresenta uma maior proporção de fumantes em relação à atividade física alta e baixa.
Conclusão: De acordo com teste qui-quadrado , o hábito de fumo não está associado com Atividade física ao nível de 5 % de significância.
Relação entre Variáveis Quantitativas
Neste exemplo, apresentamos três tipos de relação linear: Correlação Positiva, Correlação Negativa e Ausência de Correlação. Abaixo, as figuras são exibidas lado a lado para facilitar a visualização.
Correlação entre Colesterol e Pressão Arterial
Para variáveis quantitativas, como Colesterol e Pressão_Arterial, podemos calcular a correlação de Pearson para verificar a força e a direção da relação linear entre elas.
Code
ggplot(dados, aes(x = Colesterol, y = Pressão_Arterial)) +geom_point() +geom_smooth(method ="lm", col ="blue") +labs(title ="Gráfico de Dispersão: Colesterol vs Pressão Arterial",x ="Colesterol",y ="Pressão Arterial") +theme_minimal()
`geom_smooth()` using formula = 'y ~ x'
Correlação de Pearson
Code
# Correlação de Pearson entre Colesterol e Pressão Arterialcorrelacao <-cor(dados$Colesterol, dados$Pressão_Arterial)correlacao
[1] -0.1038126
Hipóteses e Pressuposições para a Correlação de Pearson
Nesta seção, descrevemos as hipóteses e pressuposições para a aplicação da correlação de Pearson, que é usada para medir a relação linear entre duas variáveis quantitativas. No exemplo, investigamos a relação entre as variáveis “Colesterol” e “Pressão Arterial”.
Hipóteses da Correlação de Pearson
A correlação de Pearson avalia a força e a direção da relação linear entre duas variáveis contínuas. Suas hipóteses são definidas da seguinte maneira:
Hipótese Nula (H₀): Não existe correlação linear entre as duas variáveis; o coeficiente de correlação populacional é igual a zero.
Hipótese Alternativa (H₁): Existe uma correlação linear entre as duas variáveis; o coeficiente de correlação populacional é diferente de zero.
Pressuposições da Correlação de Pearson
Para que a correlação de Pearson seja aplicada corretamente, as seguintes pressuposições devem ser atendidas:
Linearidade: As duas variáveis devem apresentar uma relação linear. Isso pode ser verificado visualmente com um gráfico de dispersão. Se a relação entre as variáveis for não-linear, a correlação de Pearson não é adequada.
Normalidade: As duas variáveis devem ser aproximadamente normalmente distribuídas, especialmente se o tamanho da amostra for pequeno. Essa pressuposição pode ser verificada através de testes de normalidade ou gráficos como o Q-Q plot.
Teste de Shapiro Wilk
O teste de Shapiro-Wilk é usado para verificar a normalidade de uma distribuição, e ele testa as seguintes hipóteses:
Hipótese Nula (H₀): Os dados seguem uma distribuição normal.
Hipótese Alternativa (H₁): Os dados não seguem uma distribuição normal
Code
# Q-Q plotqqnorm(dados$Colesterol, main ="Q-Q Plot para Verificação de Normalidade")qqline(dados$Colesterol, col ="red", lwd =2) # Adiciona a linha de referência
Code
# Exemplo de código em R para o teste de Shapiro-Wilkshapiro.test(dados$Colesterol)
Shapiro-Wilk normality test
data: dados$Colesterol
W = 0.99516, p-value = 0.9035
Code
shapiro.test(dados$Pressão_Arterial)
Shapiro-Wilk normality test
data: dados$Pressão_Arterial
W = 0.995, p-value = 0.8902
Homocedasticidade: A variância dos valores ao longo da linha de regressão deve ser constante, ou seja, a dispersão dos pontos deve ser similar para todos os valores das variáveis. Caso contrário, pode haver heterocedasticidade, o que viola esta pressuposição.
Code
# Aplicando o teste de Bartlettbartlett.test(dados$Colesterol~dados$Atividade_Fisica)
Bartlett test of homogeneity of variances
data: dados$Colesterol by dados$Atividade_Fisica
Bartlett's K-squared = 6.3596, df = 2, p-value = 0.04159
H0: afirma que todas as variâncias dos grupos são iguais. H1: sugere que pelo menos uma das variâncias é diferente.
Escala de Medição: Ambas as variáveis devem ser medidas em uma escala intervalar ou de razão (QUANTITATIVAS).
Cálculo e Interpretação da Correlação de Pearson
O coeficiente de correlação de Pearson (( r )) varia entre -1 e 1:
( r = 1 ): Correlação linear perfeita positiva.
( r = -1 ): Correlação linear perfeita negativa.
( r = 0 ): Nenhuma correlação linear.
Interpretação dos Resultados
A magnitude e a direção da correlação são determinadas pelo valor de ( r ):
Correlação forte: Quando ( r ) está próximo de -1 ou 1, indicando uma forte relação linear.
Correlação fraca: Quando ( r ) está próximo de 0, indicando uma fraca ou inexistente relação linear.
Significado do sinal: Se ( r ) for positivo, a relação entre as variáveis é direta (aumento de uma variável corresponde ao aumento da outra). Se ( r ) for negativo, a relação é inversa (aumento de uma variável corresponde à diminuição da outra).
Essas hipóteses e pressuposições são fundamentais para realizar a análise de correlação de Pearson corretamente e interpretar seus resultados de forma adequadaConclusão : O gráfico de pontos e coeficiente de correlação de Pearson (r) indicam que a correlação entre o nível de Colesterol e a Pressão arterial é fraca.
Code
# Testa se existe correlacao entre o consumo de sorvete e a temperaturacor.test(x = dados$Colesterol, y = dados$Pressão_Arterial, method ="pearson")
Pearson's product-moment correlation
data: dados$Colesterol and dados$Pressão_Arterial
t = -1.2698, df = 148, p-value = 0.2062
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.25975257 0.05740398
sample estimates:
cor
-0.1038126
Após calcular a correlação, o valor-p associado ao teste pode ser utilizado para verificar a significância estatística:
Se o valor-p for menor que o nível de significância (geralmente 0,05), rejeitamos a hipótese nula e concluímos que existe uma correlação linear significativa entre as duas variáveis.
Se o valor-p for maior ou igual a 0,05, não rejeitamos a hipótese nula, o que indica que não há evidências suficientes de uma correlação linear significativa entre as variáveis.
Conclusão : De acordo com o teste de correlação, as variáveis Colesterol e Pressão arterial não estão correlacionadas significativamente, ao nível de 5% de significância.
Matriz de Correlação - Variáveis Misturadas
Code
str(dados) #serve para conferir a natureza das variáveis
#transformando todas as variáveis em numéricadados$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)library(psych)
Anexando pacote: 'psych'
O seguinte objeto é mascarado por 'package:ltm':
factor.scores
O seguinte objeto é mascarado por 'package:polycor':
polyserial
Os seguintes objetos são mascarados por 'package:ggplot2':
%+%, alpha
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 coeficientes em "planilha".
List of 6
$ rho : num [1:6, 1:6] 1 -0.025 -0.0451 0.0678 0.0557 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:6] "Idade" "IMC" "Atividade_Fisica" "Fumante" ...
.. ..$ : chr [1:6] "Idade" "IMC" "Atividade_Fisica" "Fumante" ...
$ rx : 'psych' num [1:4, 1:4] 1 -0.025 0.0557 -0.0186 -0.025 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:4] "Idade" "IMC" "Colesterol" "Pressão_Arterial"
.. ..$ : chr [1:4] "Idade" "IMC" "Colesterol" "Pressão_Arterial"
$ poly :List of 2
..$ rho: num 1
..$ tau: NULL
$ tetra:List of 2
..$ rho: num 1
..$ tau: NULL
$ rpd : num [1, 1] 0.061
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "Atividade_Fisica"
.. ..$ : chr "Fumante"
$ Call : language mixedCor(data = dados, c = c(1, 2, 5, 6), p = 3, d = 4, smooth = F, correct = 0)
- attr(*, "class")= chr [1:2] "psych" "mixed"
Observação: Variáveis Poli, são variáveis categóricas com mais de dois níveis
A função mixedCor requer que todas as variáveis sejam de natureza numérica (Quantitativa).
Argumentos da função mixedCor:
p = posição de variáveis categóricas com mais de 2 níveis presentes no conjunto de dados;
c = posição variáveis contínuas no conjunto de dados;
d = posição variáveis categóricas com 2 níveis (dicotômica) presentes no conjuntos de dados.
Code
Rho<-Mmixed[["rho"]] #Considerando apenas os coeficientes de correlação (rho)Rho<-round(Rho, 2) #Considerar 2 casas após a vírgulaRho<-as.data.frame(Rho) #Transformando o conjunto com os valores do coenficiente em "planilha".
Code
library(ggcorrplot)Correlogram<-ggcorrplot(Rho, type ="upper", lab =TRUE)library(plotly)Correlogram<-ggplotly(Correlogram)Correlogram