Ariane Pedrosa Diniz,Cleisiane Ruthe da Silva,Edna da Silva, Flávia da Silva Machado,Marina Viana Danese -Grupo 3
Published
Invalid Date
Code
library(rmarkdown)library(ggplot2)library(dplyr)
Anexando pacote: 'dplyr'
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 (polycor)
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.
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
Code
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
7 41 22.0 Alta Não 136 100
8 62 27.3 Alta Sim 208 141
9 39 25.1 Baixa Não 206 86
10 54 22.6 Baixa Sim 238 113
11 36 27.2 Moderada Sim 183 134
12 34 18.1 Moderada Não 211 103
13 39 24.6 Moderada Não 234 103
14 30 21.6 Baixa Não 157 122
15 52 27.8 Moderada Não 232 101
16 31 29.0 Baixa Não 159 130
17 29 24.5 Moderada Sim 193 131
18 34 23.2 Moderada Não 216 135
19 35 27.5 Moderada Não 193 110
20 33 19.1 Moderada Não 243 117
21 8 32.5 Moderada Não 191 133
22 26 26.4 Baixa Sim 256 110
23 57 23.8 Baixa Sim 183 120
24 -3 19.4 Baixa Sim 173 101
25 46 21.4 Alta Sim 193 121
26 36 21.0 Moderada Não 199 108
27 21 23.4 Baixa Não 203 122
28 26 20.3 Alta Sim 207 126
29 32 26.5 Alta Não 190 98
30 47 30.6 Moderada Não 203 111
31 42 27.5 Alta Não 226 130
32 16 27.8 Baixa Não 187 121
33 35 25.8 Alta Não 251 82
34 53 24.3 Alta Não 225 126
35 19 26.1 Baixa Não 190 102
36 13 34.0 Moderada Sim 201 127
37 51 15.6 Moderada Sim 226 126
38 43 30.0 Moderada Sim 228 143
39 27 28.8 Moderada Sim 248 92
40 69 8.8 Moderada Sim 191 117
41 48 27.9 Moderada Sim 205 104
42 62 26.5 Alta Não 280 98
43 41 25.2 Moderada Sim 198 125
44 51 29.9 Baixa Não 211 107
45 46 27.2 Alta Não 218 127
46 40 22.5 Alta Não 199 109
47 81 17.1 Alta Sim 192 121
48 38 24.8 Moderada Não 236 115
49 21 22.0 Moderada Sim 194 157
50 24 24.3 Alta Não 216 113
51 76 31.8 Alta Sim 170 127
52 46 32.4 Moderada Sim 199 107
53 45 24.4 Alta Sim 220 129
54 26 20.7 Moderada Não 193 115
55 32 23.8 Alta Sim 223 134
56 33 25.0 Moderada Não 170 102
57 12 23.3 Baixa Sim 208 112
58 12 29.0 Baixa Sim 182 141
59 26 27.6 Alta Sim 240 137
60 22 24.5 Alta Não 178 160
61 31 22.7 Moderada Não 226 124
62 35 33.1 Alta Não 174 114
63 26 25.0 Alta Não 164 136
64 19 29.5 Alta Sim 198 91
65 69 30.6 Moderada Não 262 117
66 66 26.9 Moderada Não 203 144
67 38 31.8 Moderada Sim 242 115
68 41 24.6 Alta Não 257 121
69 30 24.4 Alta Sim 187 93
70 65 24.3 Moderada Não 206 107
71 29 25.7 Baixa Não 232 100
72 14 23.0 Alta Sim 228 124
73 47 27.8 Moderada Sim 234 134
74 54 22.7 Baixa Sim 163 117
75 51 24.7 Moderada Sim 163 117
76 30 15.2 Alta Sim 193 95
77 52 26.2 Moderada Não 216 133
78 49 21.9 Alta Não 155 108
79 93 26.1 Alta Não 188 113
80 24 25.1 Alta Não 175 108
81 16 23.4 Alta Não 237 113
82 28 28.5 Baixa Não 247 134
83 16 28.1 Baixa Não 201 115
84 20 28.0 Moderada Sim 191 140
85 42 21.0 Moderada Sim 221 120
86 39 20.5 Moderada Sim 191 126
87 35 19.3 Baixa Não 239 85
88 52 28.9 Alta Sim 219 110
89 27 26.8 Moderada Sim 185 125
90 59 23.7 Baixa Sim 195 115
91 33 26.7 Alta Sim 162 119
92 44 31.0 Moderada Não 208 134
93 22 29.3 Moderada Não 179 110
94 64 15.9 Alta Sim 205 135
95 39 25.6 Moderada Não 192 137
96 39 28.2 Alta Não 209 131
97 40 20.0 Moderada Não 212 124
98 39 23.2 Baixa Não 143 98
99 41 21.5 Moderada Não 182 130
100 23 22.4 Moderada Sim 246 109
101 59 25.0 Moderada Sim 206 114
102 22 26.6 Moderada Não 225 90
103 33 32.1 Alta Não 194 133
104 27 24.3 Alta Não 235 111
105 54 28.3 Moderada Não 207 115
106 46 24.6 Moderada Sim 195 108
107 56 28.9 Moderada Sim 199 131
108 38 16.3 Baixa Sim 220 114
109 23 24.6 Baixa Não 178 123
110 44 19.8 Moderada Sim 242 118
111 49 28.5 Alta Não 200 106
112 37 24.8 Moderada Não 162 113
113 33 26.2 Moderada Sim 178 147
114 76 22.5 Baixa Não 198 92
115 59 28.5 Moderada Sim 191 127
116 52 27.2 Baixa Não 223 117
117 5 25.7 Moderada Sim 185 139
118 1 26.9 Baixa Não 174 123
119 53 27.4 Moderada Sim 174 109
120 34 25.7 Baixa Sim 152 131
121 64 26.4 Alta Não 230 132
122 32 24.0 Moderada Não 205 116
123 26 28.5 Moderada Não 197 119
124 40 26.7 Alta Não 166 110
125 29 25.4 Alta Não 204 131
126 58 24.7 Baixa Não 197 85
127 53 23.6 Alta Sim 231 103
128 34 24.8 Baixa Não 268 118
129 51 33.7 Moderada Sim 221 125
130 9 25.0 Baixa Não 222 126
131 59 30.5 Baixa Não 174 105
132 36 25.3 Baixa Sim 159 102
133 66 32.6 Alta Sim 183 132
134 30 24.7 Baixa Não 216 101
135 53 23.6 Baixa Não 214 113
136 43 22.5 Moderada Sim 201 130
137 45 24.4 Alta Sim 189 113
138 44 26.8 Moderada Sim 224 142
139 74 28.1 Alta Não 225 106
140 50 30.3 Baixa Sim 188 121
141 15 22.6 Baixa Sim 164 137
142 43 21.6 Alta Não 193 121
143 60 21.1 Moderada Não 181 144
144 28 29.7 Alta Não 244 121
145 36 22.3 Moderada Não 186 113
146 42 28.2 Moderada Não 205 116
147 17 20.9 Moderada Não 183 105
148 39 18.9 Alta Sim 164 122
149 45 28.0 Alta Sim 145 153
150 8 20.1 Alta Sim 230 126
Relação entre Variáveis Qualitativas e Quantitativas
Observações: 1-As medidas descritivas Média, Mediana, Moda, Quartis e Percentis devem ser calculadas a partir de variáveis QUANTITATIVAS
2- Para variável qualitativa ou categórica pode-se aplicar as medidas descritivas: MODA
Relação entre Atividade Física e IMC
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) )
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 de boxplot para 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.
Os indivíduos com atividade física alta tendem a ter um IMC mediano um pouco maior do que aqueles com atividade baixa e menor do que a moderada. Dispersão (caixa e bigodes): Indica a variação do IMC em cada grupo.
A atividade física alta apresenta uma maior variação no IMC, sugerindo que pessoas com atividade física alta têm IMCs mais variados, enquanto a atividade física baixa e moderada tem a menor dispersão. Outliers (pontos fora da caixa e dos bigodes): Indivíduos com valores de IMC muito abaixo do esperado para cada grupo.
Alguns outliers são visíveis em todos os grupo de atividade física, indicando a presença de indivíduos com IMC muito baixos nos grupos. Conclusão: Há uma leve tendência de que, conforme aumenta o nível de atividade física, o IMC tende a aumentar, mas há também variações consideráveis dentro de cada grupo.
IMC está associado com a frequência de atividade física ?
Para investigar a associação entre uma variável qualitativa (comoAtividade Física, caso seja dicotômica ou ordinal) e uma variável quantitativa contínua (com 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 comopolycor, 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 Xpolyserial_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
# 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)
Hipotese do Teste:
Ho: rp=0
H1:rp diferente de 0
Possíveis Interpretações
Se o valor p<0,05, rejeita-se $H_0 e conclui-se que o coeficiente de correlação polissério estimado é estatisticamente significativo
Se o valor p>0,05, não rejeita-se $H_0 e conclui-se que o coeficiente de correlação polissério estimado não é estatisticamente significativo
De acordo com o teste t, não rejeitamos a hipótese de que o coeficiente polissérico estudado é igual a 0, 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)
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
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
Code
# Extraia o valor de r_poly e o erro padrão# Extraia o valor de r_pr_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 Polisserial aproximada (r_pa):", r_b, "\n")
Se o valor p>0,05, não rejeita-se $H_0 e conclui-se que o coeficiente de correlação bisério estimado não é estatisticamente significativo
# Testando a Hipóteses de Associação entre o hábito de fumar e atividade física -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.
Pressuposições do teste qui quadrado
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 ou igual 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.
A hipótese nula não sera rejeitada pois o valor de de p foi superior a 0,05 ou seja as variáveis são indepentes.
Realação entre Variáveis Quantitativas
Neste exemplo, presentamos três yipos de rejeição linear: Correlação Positiva,Correlação Negativa e Auseância de Correlação.
Abaixo as figuras são exibidas lado a lado para facilitar a visualização
Code
# Correlação de Pearson entre Colesterol e Pressão Arterialcorrelacao <-cor(dados$Colesterol, dados$Pressão_Arterial)correlacao
[1] -0.1038126
Correlação fraca e negativa
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()
Code
str(dados)# Serve para conferir a natureza das variáveis
Rho<-MmixedCor[["rho"]]#Considerando apenas os coeficientes de correlação(rho)Rho<-round(Rho,2)# Considerae 2 casas após a vírgulaRho<-as.data.frame(Rho)#transformando o conjunto com os valores do coeficiente em planilha
onde rb é o coeficiente bisserial e $n$ é o tamanho da amostra. Esse teste segue uma distribuição t com n−2 graus de liberdade.
No R, você pode calcular a significância do coeficiente polyserial e verificar o valor-p.
Definindo semente para reprodutibilidade
set.seed(123)
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)
Exemplo: Relação entre Atividade Física e IMC Para investigar a relação entre uma variável qualitativa (Atividade_Fisica) e uma quantitativa (IMC), podemos calcular estatísticas descritivas de IMC para cada nível de Atividade_Física.
Estatísticas descritivas do IMC por nível de Atividade Física
Gráfico de boxplot para IMC por nível de Atividade Física # Gráfico de boxplot para IMC por nível de Atividade Física
Code
library(ggplot2)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()
Warning: Continuous x aesthetic
ℹ did you forget `aes(group = ...)`?
Warning: The following aesthetics were dropped during statistical transformation: fill.
ℹ This can happen when ggplot fails to infer the correct grouping structure in
the data.
ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
variable into a factor?
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.
Tabela de contingência entre Fumar e Atividade Física
Testando a Hipóteses de Associação entre o hábito de fumar e atividade física -Teste Qui-Quadrado
Pressuposições do teste qui quadrado
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: \text{As variáveis Fumar e Atividade Física são independentes.} \]
Code
# Teste do Qui-Quadrado para verificar associação entre Fumar e Atividade Físicateste_qui <-chisq.test(tabela_contingencia)teste_qui
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 ou igual 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.
A hipótese nula não sera rejeitada pois o valor de de p foi superior a 0,05 ou seja as variáveis são indepentes.
Realação entre Variáveis Quantitativas
Neste exemplo, presentamos três yipos de rejeição linear: Correlação Positiva,Correlação Negativa e Auseância de Correlação. Abaixo as figuras são exibidas lado a lado para facilitar a visualização
{fig-align=“center” width=“90%” fig-cap= ““}
Code
# Correlação de Pearson entre Colesterol e Pressão Arterialcorrelacao <-cor(dados$Colesterol, dados$Pressão_Arterial)correlacao
[1] -0.1038126
Correlação fraca e negativa
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()
Code
str(dados)# Serve para conferir a natureza das variáveis
Rho<-MmixedCor[["rho"]]#Considerando apenas os coeficientes de correlação(rho)Rho<-round(Rho,2)# Considerae 2 casas após a vírgulaRho<-as.data.frame(Rho)#transformando o conjunto com os valores do coeficiente em planilha