Introdução

Este estudo compara duas metodologias clássicas de mensuração de atitudes - Escala de Likert e Escala de Thurstone - aplicadas à opinião sobre o uso de inteligência artificial na educação superior. A pesquisa busca entender como diferentes métodos de escala podem influenciar os resultados e a captura da atitude dos respondentes.

A inteligência artificial tem transformado diversos setores da sociedade, incluindo a educação. Compreender as atitudes e percepções dos estudantes em relação ao uso de IA no ensino superior é fundamental para orientar políticas educacionais e o desenvolvimento de ferramentas tecnológicas adequadas.

Metodologia

Foram aplicados dois questionários com o mesmo tema (uso de IA na educação) mas utilizando diferentes metodologias de escala:

  • Escala Likert: 9 perguntas com opções de resposta de 5 pontos (Discordo totalmente, Discordo parcialmente, Neutro, Concordo parcialmente, Concordo totalmente)
  • Escala Thurstone: 9 perguntas com formato dicotômico ou de concordância simples

Os dados foram coletados através de formulários online e organizados em duas planilhas Excel.

Análise de Dados

# Carregar pacotes necessários
library(readxl)
library(dplyr)
library(tidyr)
library(ggplot2)
library(psych)
library(kableExtra)
library(scales)
# Importar dados
likert_data <- read_excel("Resultado Likert.xlsx")
thurstone_data <- read_excel("Resultado Thurstone.xlsx")

# Exibir estrutura dos dados
cat("Dimensões dos dados Likert:", dim(likert_data), "\n")
## Dimensões dos dados Likert: 49 14
cat("Dimensões dos dados Thurstone:", dim(thurstone_data), "\n")
## Dimensões dos dados Thurstone: 49 14

Preparação dos Dados

# Limpar e preparar dados Likert
likert_clean <- likert_data %>%
  select(-`Carimbo de data/hora`, -`Insira seu nome`) %>%
  mutate(
    `Qual a sua idade` = as.factor(`Qual a sua idade`),
    Genero = as.factor(Genero),
    `Está cursando Ensino Superior?` = as.factor(`Está cursando Ensino Superior?`)
  )

# Converter respostas Likert para valores numéricos
for(i in 5:min(13, ncol(likert_clean))) {
  likert_clean[[i]] <- case_when(
    likert_clean[[i]] == "Discordo totalmente" ~ 1,
    likert_clean[[i]] == "Discordo parcialmente" ~ 2,
    likert_clean[[i]] == "Neutro (nem concordo nem discordo)" ~ 3,
    likert_clean[[i]] == "Concordo parcialmente" ~ 4,
    likert_clean[[i]] == "Concordo totalmente" ~ 5,
    likert_clean[[i]] == "Nunca" ~ 1,
    likert_clean[[i]] == "Raramente" ~ 2,
    likert_clean[[i]] == "As vezes" ~ 3,
    likert_clean[[i]] == "Frequentemente" ~ 4,
    likert_clean[[i]] == "Sempre" ~ 5,
    TRUE ~ NA_real_
  )
}

# Calcular escore total Likert
question_cols <- 5:min(13, ncol(likert_clean))
likert_clean$total_score <- rowSums(likert_clean[, question_cols], na.rm = TRUE)

# Limpar e preparar dados Thurstone
thurstone_clean <- thurstone_data %>%
  select(-`Carimbo de data/hora`, -`Insira seu nome`) %>%
  mutate(
    `Qual a sua idade` = as.factor(`Qual a sua idade`),
    Genero = as.factor(Genero),
    `Está cursando Ensino Superior?` = as.factor(`Está cursando Ensino Superior?`)
  )

# Converter respostas Thurstone para valores numéricos
for(i in 5:min(13, ncol(thurstone_clean))) {
  thurstone_clean[[i]] <- case_when(
    thurstone_clean[[i]] == "Discordo" ~ 1,
    thurstone_clean[[i]] == "Concordo" ~ 2,
    thurstone_clean[[i]] == "Não" ~ 0,
    thurstone_clean[[i]] == "Sim" ~ 1,
    thurstone_clean[[i]] == "Nunca" ~ 1,
    thurstone_clean[[i]] == "Raramente" ~ 2,
    thurstone_clean[[i]] == "As vezes" ~ 3,
    thurstone_clean[[i]] == "Frequentemente" ~ 4,
    thurstone_clean[[i]] == "Sempre" ~ 5,
    TRUE ~ NA_real_
  )
}

# Calcular escore total Thurstone
question_cols_thurstone <- 5:min(13, ncol(thurstone_clean))
thurstone_clean$total_score <- rowSums(thurstone_clean[, question_cols_thurstone], na.rm = TRUE)

Análise Descritiva

# Análise descritiva Likert
likert_stats <- describe(likert_clean$total_score)
print(likert_stats)
##    vars  n  mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 49 24.96 5.11     26   25.05 5.93  13  36    23 -0.13    -0.49 0.73
# Análise descritiva Thurstone
thurstone_stats <- describe(thurstone_clean$total_score)
print(thurstone_stats)
##    vars  n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 49 8.04 2.28      8    8.15 2.97   2  12    10 -0.37    -0.47 0.33
# Tabela comparativa
comparison_table <- data.frame(
  Escala = c("Likert", "Thurstone"),
  Média = c(mean(likert_clean$total_score, na.rm = TRUE), 
            mean(thurstone_clean$total_score, na.rm = TRUE)),
  Mediana = c(median(likert_clean$total_score, na.rm = TRUE), 
              median(thurstone_clean$total_score, na.rm = TRUE)),
  Desvio_Padrão = c(sd(likert_clean$total_score, na.rm = TRUE), 
                    sd(thurstone_clean$total_score, na.rm = TRUE)),
  Mínimo = c(min(likert_clean$total_score, na.rm = TRUE), 
             min(thurstone_clean$total_score, na.rm = TRUE)),
  Máximo = c(max(likert_clean$total_score, na.rm = TRUE), 
             max(thurstone_clean$total_score, na.rm = TRUE))
)

kable(comparison_table, caption = "Estatísticas Descritivas Comparativas") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Estatísticas Descritivas Comparativas
Escala Média Mediana Desvio_Padrão Mínimo Máximo
Likert 24.959184 26 5.107018 13 36
Thurstone 8.040816 8 2.281805 2 12

Visualizações

# Histogramas comparativos
likert_df <- data.frame(Escala = "Likert", Score = likert_clean$total_score)
thurstone_df <- data.frame(Escala = "Thurstone", Score = thurstone_clean$total_score)
scores_hist <- rbind(likert_df, thurstone_df)

hist_plot <- ggplot(scores_hist, aes(x = Score, fill = Escala)) +
  geom_histogram(binwidth = 2, alpha = 0.7) +
  facet_wrap(~Escala, ncol = 2) +
  theme_minimal() +
  ggtitle("Distribuição dos Escores por Tipo de Escala") +
  xlab("Escore Total") +
  ylab("Frequência")

print(hist_plot)

# Boxplot comparativo
scores_df <- data.frame(
  Escala = c(rep("Likert", nrow(likert_clean)), 
            rep("Thurstone", nrow(thurstone_clean))),
  Score = c(likert_clean$total_score, thurstone_clean$total_score)
)

box_plot <- ggplot(scores_df, aes(x = Escala, y = Score, fill = Escala)) +
  geom_boxplot() +
  theme_minimal() +
  ggtitle("Comparação de Escores entre Escalas Likert e Thurstone")

print(box_plot)

Resultados

Os resultados mostram diferenças significativas entre as duas escalas. A escala Likert apresentou maior variabilidade nas respostas, com média de 24.96 e desvio padrão de 5.11. A escala Thurstone mostrou escores mais concentrados, com média de 8.04 e desvio padrão de 2.28.

Discussão e Análise Comparativa

As duas escalas produziram resultados diferentes, com a escala Likert capturando maior nuance nas opiniões dos respondentes devido à sua natureza de múltiplos pontos. A escala Thurstone, por ser mais dicotômica, tendeu a polarizar mais as respostas.

A escala Likert foi mais fácil de implementar e analisar, enquanto a Thurstone exigiu mais trabalho na construção mas pode ser mais rápida para os respondentes.

Ambas as escalas capturaram adequadamente a atitude do público, mas a Likert pareceu mais sensível a nuances nas opiniões sobre IA na educação.

Conclusão

Este estudo demonstra que a escolha da escala de medição pode influenciar significativamente os resultados de pesquisas de atitude. Para o tema de IA na educação, a escala Likert mostrou-se mais adequada para capturar a complexidade das opiniões dos respondentes.

Referências

  • Likert, R. (1932). A technique for the measurement of attitudes. Archives of Psychology, 140, 1-55.
  • Thurstone, L. L. (1928). Attitudes can be measured. American Journal of Sociology, 33, 529-554.