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:

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”.

1. Configuração, Carregamento de Pacotes e Dados

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)

2. Análise 1: Itens de 5 Pontos (ST25Q)

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).

Seleção e Estrutura dos Dados

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 ...

Renomear e Preparar para o Gráfico

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

Criação do Gráfico de Likert (5 Níveis)

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()

3. Análise 2: Itens de 4 Pontos (ST24Q)

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).

Seleção e Estrutura dos Dados

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 ...

Renomear as Colunas

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

Criação do Gráfico de Likert (4 Níveis)

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.