#---------------------------------------------------------------------------------- # PRÁTICA 4 - ANÁLISE DE SATISFAÇÃO DO PACIENTE #---------------------------------------------------------------------------------- library(RcmdrMisc) setwd(" ") # Importe o banco de dados "Nível de satisfaçao do paciente.xlsx" e dê o nome de "dados". dados$fsetor <- factor(dados$setor, levels=c(0,1), labels=c("público","convênio")) #------------------------------------------------------------------------------------------------------------------- # Análise descritiva #------------------------------------------------------------------------------------------------------------------- # Descrevendo uma variável de cada vez # Box plots par(mfrow=c(2,2)) boxplot(dados$satisf, ylab="Nível de satisfação") boxplot(dados$idade, ylab="Idade (anos)") boxplot(dados$gravidade, ylab="Índice de gravidade da doença") boxplot(dados$ansiedade, ylab="Escore de ansiedade") # Tabelas de frequencia table(dados$fsetor) prop.table(table(dados$fsetor)) # Faça outros gráficos ... # Descrevendo associações entre variáveis #-----------------------------------------------------------------------------------------------# # Descrevendo a associação entre Y e as variáveis explicativas quantitativas # e a associação entre as variáveis explicativas quantitativas rcorr.adjust(dados[,c("satisf", "ansiedade","gravidade","idade", "setor")], type="pearson", use="complete") scatterplotMatrix(~satisf+ansiedade+gravidade+idade, regLine=TRUE, smooth=FALSE, diagonal=list(method="none"), data=dados) # Descrevendo a associação entre Y e as variável explicativas qualitativas par(mfrow=c(1,2)) boxplot(satisf~fsetor, ylab="Nível de satisfação", xlab="Setor", data=dados, id=list(method="y")) plotMeans(dados$satisf, dados$fsetor, error.bars="conf.int", level=0.95, connect=FALSE) stripchart(satisf ~ fsetor, vertical=TRUE, method="stack", ylab="Nível de satisfação", xlab="Setor", data=dados) # Descrevendo a associação entre as variáveis explicativas quantitativas e a qualitativa (setor) par(mfrow=c(1,3)) boxplot(idade~fsetor, ylab="Idade (anos)", xlab="Setor", data=dados, id=list(method="y")) boxplot(gravidade~fsetor, ylab="Índice de gravidade da doença", xlab="Setor", data=dados, id=list(method="y")) boxplot(ansiedade~fsetor, ylab="Escore de ansiedade", xlab="Setor", data=dados, id=list(method="y")) par(mfrow=c(1,3)) plotMeans(dados$idade, dados$fsetor, error.bars="conf.int", level=0.95, connect=FALSE) plotMeans(dados$gravidade, dados$fsetor, error.bars="conf.int", level=0.95, connect=FALSE) plotMeans(dados$ansiedade, dados$fsetor, error.bars="conf.int", level=0.95, connect=FALSE) # Descrevendo interações #---------------------------- # A associação entre Y e as variáveis explicativas quantitativas (idade, gravidade e ansiedade) # dependem dos níveis da qualitativa (setor) ? library(lattice) scatterplot(satisf~idade | fsetor, regLine=FALSE, smooth=FALSE, boxplots=FALSE, by.groups=TRUE, ylab="Nível de satisfação", xlab="Idade (anos)", data=dados) scatterplot(satisf~idade | fsetor, regLine=TRUE, smooth=FALSE, boxplots=FALSE, by.groups=TRUE, ylab="Nível de satisfação", xlab="Idade (anos)", data=dados) scatterplot(satisf~gravidade | fsetor, regLine=TRUE, smooth=FALSE, boxplots=FALSE, by.groups=TRUE, ylab="Nível de satisfação", xlab="Índice de gravidade da doença", data=dados) scatterplot(satisf~ansiedade | fsetor, regLine=TRUE, smooth=FALSE, boxplots=FALSE, by.groups=TRUE, ylab="Nível de satisfação", xlab="Escore de ansiedade", data=dados) #------------------------------------------------------------------------------------------------------------------- # Análise univariada #------------------------------------------------------------------------------------------------------------------- # Verificando normalidade da variável resposta Hist(dados$satisf, scale="density", breaks="Sturges", col="darkgray") qqPlot(dados$satisf, dist="norm") names(dados) shapiro.test(dados$satisf) normalityTest(~satisf, test="lillie.test", data=dados) shapiro.test(dados$idade) normalityTest(~idade, test="lillie.test", data=dados) shapiro.test(dados$gravidade) normalityTest(~gravidade, test="lillie.test", data=dados) shapiro.test(dados$ansiedade) normalityTest(~ansiedade, test="lillie.test", data=dados) # Inicialmente, vamos avaliar a associação entre as variáveis explicativas e a resposta # através de modelos de regressão simples, uma variável de cada vez. simples.1 <- lm(satisf~idade, data=dados) summary(simples.1) simples.2 <- lm(satisf~gravidade, data=dados) summary(simples.2) simples.3 <- lm(satisf~ansiedade, data=dados) summary(simples.3) simples.4 <- lm(satisf~setor, data=dados) # Note que, se o setor fosse a única var explicativa, seria melhor um teste t-Student. summary(simples.4)