Introdução à Escala Likert e Suas Aplicações na Saúde
A Escala Likert é uma das ferramentas psicométricas mais utilizadas em pesquisa social e de saúde para medir atitudes, opiniões e percepções. Diferentemente de perguntas de “sim/não” (dicotômicas), ela permite capturar a intensidade do sentimento de um indivíduo em relação a uma afirmação.
A escala funciona apresentando uma série de afirmações onde o respondente deve indicar seu grau de concordância ou discordância. As opções são organizadas de forma simétrica (de “Discordo Totalmente” a “Concordo Totalmente”) e equilibrada.
Aplicações na Área da Saúde No campo da saúde, a Escala Likert é fundamental para construir instrumentos de medição robustos, sendo amplamente aplicada em:
Avaliação da Qualidade de Vida: Medir a percepção de bem-estar de pacientes.
Satisfação do Paciente: Avaliar a experiência em serviços de saúde e o atendimento.
Adesão ao Tratamento: Mensurar a atitude e o comportamento dos pacientes em relação a medicamentos ou terapias.
Avaliação de Sintomas: Quantificar a intensidade de dor, ansiedade ou depressão.
Variações da Escala Likert: 5 e 4 Respostas
A escolha do número de pontos na escala está diretamente ligada ao objetivo da pesquisa:
Variação | Nível de Respostas | Característica Principal | Aplicação na Saúde |
5 Pontos (Nível Ímpar) | Exemplo: Discordo Totalmente, Discordo, Neutro/Indiferente, Concordo, Concordo Totalmente | Inclui um ponto neutro/central. Isso permite que o respondente expresse indecisão ou falta de opinião, sem forçar uma posição. | Ideal para medir opiniões complexas ou controversas (ex: atitudes sobre vacinação ou uso de tecnologias), onde a opção de neutralidade é válida. |
4 Pontos (Nível Par) | Exemplo: Discordo Totalmente, Discordo, Concordo, Concordo Totalmente | Força uma escolha. O ponto neutro é removido (ou não oferecido), obrigando o respondente a se posicionar para o lado da concordância ou da discordância. | Usado em pesquisas onde o pesquisador deseja garantir uma atitude mensurável (ex: satisfação ou não-satisfação, adesão ou não-adesão), evitando que os respondentes se escondam atrás da opção “Neutro”. |
Neste primeiro bloco, carregamos os pacotes necessários para
manipulação de dados (tidyverse
), visualização de dados do
tipo Likert (likert
, RColorBrewer
) e
carregamos o conjunto de dados de exemplo pisaitems
.
library(likert)
library(gtsummary)
pacman::p_load(tidyverse, likert, RColorBrewer)
data(pisaitems)
Esta seção foca na análise e visualização de itens da série ST25Q, que geralmente possuem 5 níveis de resposta (escala de concordância completa, incluindo neutro).
Selecionamos as três primeiras colunas que começam com “ST25Q” do
conjunto de dados pisaitems
.
# SELEÇÃO DE DADOS: Selecionar 3 colunas da série ST25Q
itens_5_pontos <- pisaitems[, substr(names(pisaitems), 1, 5) == "ST25Q"][1:3]
# Visualizar estrutura e cabeçalho
head(itens_5_pontos, n=5)
## ST25Q01 ST25Q02 ST25Q03
## 68038 A few times a year Several times a week Several times a month
## 68039 About once a month A few times a year Never or almost never
## 68040 About once a month Never or almost never A few times a year
## 68041 Several times a month A few times a year About once a month
## 68042 About once a month A few times a year About once a month
str(itens_5_pontos)
## 'data.frame': 66690 obs. of 3 variables:
## $ ST25Q01: Factor w/ 5 levels "Never or almost never",..: 2 3 3 4 3 2 4 3 3 1 ...
## $ ST25Q02: Factor w/ 5 levels "Never or almost never",..: 5 2 1 2 2 1 1 1 3 3 ...
## $ ST25Q03: Factor w/ 5 levels "Never or almost never",..: 4 1 2 3 3 1 2 2 3 4 ...
Atribuímos nomes descritivos às colunas para melhorar a legibilidade do gráfico.
# Definindo novos nomes
nomes_5pt <- c("Q1: Read magazine",
"Q2: Read comics",
"Q3: Read fiction")
names(itens_5_pontos) <- nomes_5pt
Preparamos a paleta de cores (RdBu
para
Discordância/Concordância) e criamos o gráfico. A cor do meio (neutra) é
customizada para cinza.
# Definir paleta de 5 cores e customizar o centro (neutro) para cinza
paleta <- RColorBrewer::brewer.pal(n = 5, name = "RdBu")
paleta[3] <- "#DFDFDF"
# Criar o objeto likert
likert_plot_5 <- likert(itens_5_pontos)
# Plotar o gráfico com personalizações
plot(likert_plot_5, group.order = colnames(itens_5_pontos)) +
guides(fill = guide_legend(title = "Response")) +
labs(y = "Frequency (%)", title = "Atitudes de Leitura - Itens de 5 Pontos (ST25Q)") +
scale_fill_manual(values = paleta) +
theme_classic()
Esta seção repete o processo para itens da série ST24Q, que presumivelmente possuem 4 níveis de resposta (escala forçada, sem opção neutra central).
Selecionamos as três primeiras colunas que começam com “ST24Q”.
# SELEÇÃO DE DADOS: Selecionar 3 colunas da série ST24Q
itens_4_pontos <- pisaitems[, substr(names(pisaitems), 1, 5) == "ST24Q"][1:3]
# Visualizar estrutura e cabeçalho
head(itens_4_pontos, n=5)
## ST24Q01 ST24Q02 ST24Q03
## 68038 Disagree Strongly agree Strongly agree
## 68039 Agree Strongly disagree Strongly disagree
## 68040 Strongly agree Strongly disagree Strongly disagree
## 68041 Disagree Disagree Agree
## 68042 Strongly disagree Disagree Strongly disagree
str(itens_4_pontos)
## 'data.frame': 66690 obs. of 3 variables:
## $ ST24Q01: Factor w/ 4 levels "Strongly disagree",..: 2 3 4 2 1 3 2 3 3 4 ...
## $ ST24Q02: Factor w/ 4 levels "Strongly disagree",..: 4 1 1 2 2 1 2 1 3 1 ...
## $ ST24Q03: Factor w/ 4 levels "Strongly disagree",..: 4 1 1 3 1 1 2 1 2 1 ...
Atribuímos nomes descritivos em português para esta série.
# Definindo novos nomes
nomes_4pt <- c("Q1: Read magazine",
"Q2: Read comics",
"Q3: Read fiction")
names(itens_4_pontos) <- nomes_4pt
Criamos a paleta de cores apropriada para 4 níveis e geramos o gráfico.
# Definir paleta de 4 cores
paleta1 <- RColorBrewer::brewer.pal(n = 4, name = "RdBu")
# Criar o objeto likert
likert_plot_4 <- likert(itens_4_pontos)
# Plotar o gráfico com personalizações em português
plot(likert_plot_4, group.order = colnames(itens_4_pontos)) +
guides(fill = guide_legend(title = "Response")) +
labs(y = "Frequency (%)", title = "Atitudes de Leitura - Itens de 4 Pontos (ST24Q)") +
scale_fill_manual(values = paleta1) +
theme_classic()
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.