Importação dos pacotes requeridos.
library(tidyverse)
## ââ Attaching core tidyverse packages ââââââââââââââââââââââââ tidyverse 2.0.0 ââ
## â dplyr 1.1.4 â readr 2.1.5
## â forcats 1.0.0 â stringr 1.5.1
## â ggplot2 3.5.1 â tibble 3.2.1
## â lubridate 1.9.3 â tidyr 1.3.1
## â purrr 1.0.2
## ââ Conflicts ââââââââââââââââââââââââââââââââââââââââââ tidyverse_conflicts() ââ
## â dplyr::filter() masks stats::filter()
## â dplyr::lag() masks stats::lag()
## âč Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggpubr)
library(table1)
##
## Attaching package: 'table1'
##
## The following objects are masked from 'package:base':
##
## units, units<-
library(nortest)
library(patchwork)
library("readxl")
library(dplyr)
library(forcats)
library(ggplot2)
library(esquisse)
Recodificando o conteĂșdo das variĂĄveis utilizando condicionais conforme as cidades.
lung = read_excel("lung.xlsx")
lung$cidade <- ifelse(lung$cidade == 0, "Porto Alegre", lung$cidade)
lung$cidade <- ifelse(lung$cidade == 1, "Canoas", lung$cidade)
lung$cidade <- ifelse(lung$cidade == 2, "Guaiba", lung$cidade)
lung$cidade <- ifelse(lung$cidade == 3, "Gravatai", lung$cidade)
ConversĂŁo da variĂĄvel cidade para factor.
lung$cidade = as.factor(lung$cidade)
Recodificando o conteĂșdo das variĂĄveis de tabagismo utilizando condicionais.
lung$tabagismo = ifelse(lung$tabagismo == 0, "NĂŁo fumante", lung$tabagismo)
lung$tabagismo = ifelse(lung$tabagismo == 1, "Ex-Fumante", lung$tabagismo)
lung$tabagismo = ifelse(lung$tabagismo == 2, "Fumante", lung$tabagismo)
lung$tabagismo = as.factor(lung$tabagismo)
Criação de tabela demogråfica apresentada por cidades.
tabela1 = table1(data=lung, ~ id + altura + peso + imc + etnia + idade + tabagismo | cidade)
Criação de tabela de funçaÔ pulmonar apresentada por cidades.
tabela2 = table1(data=lung, ~ fvcz + fev1z + fev1fvcz + fef2575z | cidade)
Teste de normalidade das funçÔes pulmonares usando o lillie.test.
vars = lung[, c("fvcz", "fev1z", "fev1fvcz", "fef2575z")]
lapply(vars, lillie.test)
## $fvcz
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: X[[i]]
## D = 0.058471, p-value = 0.01504
##
##
## $fev1z
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: X[[i]]
## D = 0.050336, p-value = 0.06404
##
##
## $fev1fvcz
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: X[[i]]
## D = 0.050541, p-value = 0.06195
##
##
## $fef2575z
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: X[[i]]
## D = 0.056845, p-value = 0.02054
A capacidade vital forçada (fvcz) e o fluxo expiratĂłrio forçado mĂ©dio entre 25-75% da FVC apresentaram valores com p < 0.05. Por outro lado, o volume expiratĂłrio forçado no primeiro segundo e a relação entre FEV1 e FVC, que avalia se hĂĄ obstrução das vias aĂ©reas, apresentaram um p > 0.05, ou seja, estes Ășltimos dados sĂŁo compatĂveis com distribuição normal.
Kruskal.test realizado para verificar se hå diferenças de capacidade vital forçada entre as cidades.
fvcz_kruskal = kruskal.test(lung$fvcz ~ lung$cidade)
kruskal.test(lung$fvcz ~ lung$cidade)
##
## Kruskal-Wallis rank sum test
##
## data: lung$fvcz by lung$cidade
## Kruskal-Wallis chi-squared = 15.091, df = 3, p-value = 0.00174
Kruskal.test realizado para verificar se hå diferenças de fluxo expiratório forçado médio entre 25-75% da FVC entre as cidades.
fef2575z_kruskal = kruskal.test(lung$fef2575z ~ lung$cidade)
kruskal.test(lung$fef2575z ~ lung$cidade)
##
## Kruskal-Wallis rank sum test
##
## data: lung$fef2575z by lung$cidade
## Kruskal-Wallis chi-squared = 7.9169, df = 3, p-value = 0.04776
Houve diferença estatĂsticamente significativa entre as cidades quando avaliada a capacidade vital forçada e o fluxo expiratĂłrio forçado mĂ©dio entre 25-75% da FVC.
Agora serĂĄ realizado um post-hoc para descobrir quais cidades sĂŁo diferentes entre si usando o pairwise.wilcox.test.
pairwise.wilcox.test(lung$fvcz, lung$cidade, p.adjust.method = "bonferroni")
##
## Pairwise comparisons using Wilcoxon rank sum test with continuity correction
##
## data: lung$fvcz and lung$cidade
##
## Canoas Gravatai Guaiba
## Gravatai 0.0013 - -
## Guaiba 0.2041 0.4600 -
## Porto Alegre 0.0540 1.0000 1.0000
##
## P value adjustment method: bonferroni
A capacidade vital forçada apresentou uma diferença estatĂsticamente significativa entre as cidades de Canoas e GravataĂ.
pairwise.wilcox.test(lung$fev1z, lung$cidade, p.adjust.method = "bonferroni")
##
## Pairwise comparisons using Wilcoxon rank sum test with continuity correction
##
## data: lung$fev1z and lung$cidade
##
## Canoas Gravatai Guaiba
## Gravatai 0.00026 - -
## Guaiba 0.97223 0.01835 -
## Porto Alegre 0.45626 0.21576 1.00000
##
## P value adjustment method: bonferroni
O volume expiratĂłrio forçado no primeiro segundo apresentou uma diferença estatĂsticamente significativa entre Canoas e GravataĂ, e GravataĂ e GuaĂba.
pairwise.wilcox.test(lung$fev1fvcz, lung$cidade, p.adjust.method = "bonferroni")
##
## Pairwise comparisons using Wilcoxon rank sum test with continuity correction
##
## data: lung$fev1fvcz and lung$cidade
##
## Canoas Gravatai Guaiba
## Gravatai 1.00 - -
## Guaiba 0.84 0.41 -
## Porto Alegre 1.00 0.85 1.00
##
## P value adjustment method: bonferroni
A relação entre FEV1/FVCZ nĂŁo apresentou nenhuma diferença estatĂsticamente significativa entre as cidades.
pairwise.wilcox.test(lung$fef2575z, lung$cidade, p.adjust.method = "bonferroni")
##
## Pairwise comparisons using Wilcoxon rank sum test with continuity correction
##
## data: lung$fef2575z and lung$cidade
##
## Canoas Gravatai Guaiba
## Gravatai 0.250 - -
## Guaiba 1.000 0.035 -
## Porto Alegre 1.000 0.427 1.000
##
## P value adjustment method: bonferroni
O fluxo expiratĂłrio forçado mĂ©dio entre 25-75% da FVC apresentou uma diferença estatĂsticamente significativa entre as cidades de GravataĂ e GuaĂba.
ggplot(lung, aes(x = cidade, y = fvcz, fill = cidade)) +
geom_boxplot() +
labs(title = "Relação de Capacidade Vital Forçada e as cidades",
x = "Cidade",
y= "Capacidade Vital Forçada") +
scale_fill_brewer(palette = "Paired") +
theme_classic()
ggplot(lung, aes(x = cidade, y = fev1z, fill = cidade)) +
geom_boxplot() +
labs(title = "Relação de Volume expiratório forçado no primeiro segundo e as cidades",
x = "Cidade",
y= "Volume expiratório forçado no primeiro segundo") +
scale_fill_brewer(palette = "Paired") +
theme_classic()
ggplot(lung, aes(x = cidade, y = fev1fvcz, fill = cidade)) +
geom_boxplot() +
labs(title = "Relação da FEV1FVCZ e as cidades",
x = "Cidade",
y= "FEV1FVCZ") +
scale_fill_brewer(palette = "Paired") +
theme_classic()
ggplot(lung, aes(x = cidade, y = fef2575z, fill = cidade)) +
geom_boxplot() +
labs(title = "Relação de fluxo expiratório forçado médio entre 25-75% da FVC e as cidades",
x = "Cidade",
y= "Fluxo expiratório forçado médio entre 25-75% da FVC") +
scale_fill_brewer(palette = "Paired") +
theme_classic()