Consistência Interna dos Dados Usando R
Por: Erivando Sena • 20/9/2019 • Trabalho acadêmico • 3.514 Palavras (15 Páginas) • 195 Visualizações
Consistência Interna dos Dados usando R
Cinco maneiras de calcular a consistência interna
Erivando Sena (Com adaptações do original de Simon Jackson - BLOGR)
27/05/2019
O objetivo desta versão adaptada utilizando R Notebook é reapresentar à análise realizada no idioma Português Brasileiro para que mais pessoas possam obter acesso ao conteúdo publicado originalmente em inglês no blog de Simon Jackson.
Vamos obter psicometria e aprender uma série de maneiras de calcular a consistência interna de um teste ou questionário em R. Estaremos cobrindo:
1. Correlação média entre itens.
2. Correlação média total do item.
3. Alfa de Cronbach.
4. Confiabilidade dividida. (ajustada usando a fórmula da profecia de Spearman-Brown)
5. Confiabilidade composta.
Se você não conhece nada disso, aqui estão alguns recursos para você se atualizar:
• Consistência interna (Wikipédia).
• Alfa de Cronbach (Wikipédia).
• Uso do Coeficiente Alfa de Cronbach em Avaliações (Infoteca-e/Embrapa).
• Alfa de Cronbach (Blog Sonia Vieira).
Os pacotes
Acrescentei este trecho de código R a fim de faciliar na instalação dos pacotes utilizados nesta análise.
# Verificar e instalar o(s) pacote(s) a utilizar.
pacotes <- c("installr","rmarkdown","tinytex","tidyverse", "corrr", "psych", "lavaan")
if (length(setdiff(pacotes, rownames(installed.packages()))) > 0) {
install.packages(setdiff(pacotes, rownames(installed.packages())))
# Util para RMarkdown, nao necessario para analise de fato.
install.pandoc()
# RMarkdown precisa de MiKTeX 2.9 instalado em seu PC.
# https://miktex.org/2.9/setup.
}
Os dados
Para este notebook, usaremos dados sobre uma medida de personalidade Big 5 que está disponível gratuitamente nos Testes de Personalidade. Você pode fazer o download dos dados AQUI ou se preferir, à execução do código a seguir manipulará o download e salvará os dados em um objeto chamado dados:
# Setando codificação para representar qualquer caractere universal padrão Unicode.
options(encoding='UTF-8')
# Setando o local da pasta de trabalho.
setwd("E:/Outras Analises R/Calculo da consistencia interna em R")
arq_temp <- tempfile()
download.file("http://personality-testing.info/_rawdata/BIG5.zip", arq_temp, mode="wb")
dados <- read.table(unz(arq_temp, "BIG5/data.csv"), header = TRUE, sep="\t")
unlink(arq_temp); rm(arq_temp)
No momento em que o post original foi escrito, este conjunto de dados continha dados para 19719 pessoas, começando com algumas informações demográficas e, em seguida, suas respostas em 50 itens: 10 para cada dimensão do Big 5. Isso é um pouco demais, então vamos reduzi-lo para trabalhar nos primeiros 500 participantes e nos itens de extroversão (E1 para E10):
dados <- dados[1:500, paste0("E", 1:10)]
str(dados)
## 'data.frame': 500 obs. of 10 variables:
## $ E1 : int 4 2 5 2 3 1 5 4 3 1 ...
## $ E2 : int 2 2 1 5 1 5 1 3 1 4 ...
## $ E3 : int 5 3 1 2 3 2 5 5 5 2 ...
## $ E4 : int 2 3 4 4 3 4 1 3 1 5 ...
## $ E5 : int 5 3 5 3 3 1 5 5 5 2 ...
## $ E6 : int 1 3 1 4 1 3 1 1 1 4 ...
## $ E7 : int 4 1 1 3 3 2 5 4 5 1 ...
## $ E8 : int 3 5 5 4 1 4 4 3 2 4 ...
## $ E9 : int 5 1 5 4 3 1 4 4 5 1 ...
## $ E10: int 1 5 1 5 5 5 1 3 3 5 ...
Aqui está uma lista dos itens de extroversão que as pessoas estão classificando de 1 = Discordo a 5 = Concordo:
• E1 Eu vivo em festa.
• E2 Eu não falo muito.
• E3 Eu me sinto confortável em torno das pessoas.
• E4 Eu me mantenho em segundo plano.
• E5 Eu inicio conversas.
• E6 Eu tenho pouco a falar.
• E7 Eu falo com muitas pessoas diferentes em festas.
• E8 Não gosto de chamar atenção para mim mesmo.
• E9 Eu não me importo de ser o centro das atenções.
• E10 Eu não converso com estranhos.
Você pode ver que há cinco itens que precisam ser marcados inversamente (E2, E4, E6, E8, E10). Como as classificações variam de 1 a 5, podemos fazer o seguinte:
dados[, paste0("E", c(2, 4, 6, 8, 10))] <- 6 - dados[, paste0("E", c(2, 4, 6, 8, 10))]
Agora temos um quadro de dados (data frame) de respostas com cada coluna sendo um item (pontuado na direção correta) e cada linha sendo um participante. Vamos iniciar!
1. Correlação média entre itens
A correlação entre itens é qualquer lugar fácil para começar. Para calcular essa estatística, precisamos das correlações entre todos os itens e depois calculá-las. Vamos usar o pacote corrr de Simon Jackson (Obrigado! Simon) para obter estas correlações da seguinte forma (sem viés aqui!):
...