Es necesario instalar la libreria PsyMetricTools desde github.
if (!require("devtools")) {
install.packages("devtools")
}
devtools::install_github("jventural/PsyMetricTools")
Instalar la libreria “pacman”
install.packages("pacman")
La biblioteca “pacman” es una herramienta que, al utilizar la función
p_load
, permite instalar automáticamente una biblioteca si
no está previamente instalada, y simplemente cargarla si ya está
presente en el entorno. La función que se utiliza en la libreria
PsyMetricTools se basa en los codigos de la libreria careless
pacman::p_load(tidyverse,PsyMetricTools, careless)
El conjunto de datos psych::bfi
(que contiene datos de
personalidad del Big Five Inventory) se carga y se convierte en un
tibble (as_tibble()
), luego se eliminan las filas que
contienen valores faltantes (na.omit()
), y finalmente se
eliminan las columnas de género, educación y edad
(select(-gender, -education, -age)
), quedando solo las
variables relacionadas con la personalidad.
# data
big5 <- psych::bfi %>%
as_tibble() %>%
na.omit() %>%
select(-gender, -education, -age)
Se genera un vector de nombres nuevos para las columnas llamado
nuevos_nombres
, utilizando la función paste0()
para concatenar el prefijo “bif” con los números del 1 al 25.
# Renombrar las columnas
nuevos_nombres <- paste0("bif", 1:25)
Se renombran las columnas del conjunto de datos big5
utilizando los nombres generados en el paso anterior
(nuevos_nombres
) mediante la función
rename_with()
, aplicada a todas las columnas
(everything()
), y se almacena el resultado en un nuevo
objeto llamado big5_new
.
# Aplicar los nuevos nombres a las columnas
big5_new <- big5 %>%
rename_with(~ nuevos_nombres, everything())
filtrar_aberrantes()
para
identificar y filtrar valores aberrantes en el dataframe
big5_new
. Esta función parece ser una función personalizada
que probablemente haya sido definida previamente en el código o en algún
paquete externo. Se le pasa como argumento una cadena de caracteres
construida con los nombres de las columnas del dataframe, comenzando con
“bif” seguido de números del 1 al 25. El resultado de la función
filtrar_aberrantes()
se guarda en una variable llamada
resultado
. Esta variable contiene una dataframe con los
datos filtrados.resultado <- filtrar_aberrantes(big5_new, paste0("bif", 1:25), plot = FALSE)
df_filtered
.df_filtered <- resultado$data_filtrada
head(df_filtered)
## # A tibble: 6 × 26
## ID bif1 bif2 bif3 bif4 bif5 bif6 bif7 bif8 bif9 bif10 bif11 bif12
## <chr> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 1 6 6 5 6 5 6 6 6 1 3 2 1
## 2 2 4 3 1 5 1 3 2 4 2 4 3 6
## 3 3 4 4 5 6 5 4 3 5 3 2 1 3
## 4 4 4 5 2 2 1 5 5 5 2 2 3 4
## 5 5 1 5 6 5 6 4 3 2 4 5 2 1
## 6 6 2 6 5 6 5 3 5 6 3 6 2 2
## # ℹ 13 more variables: bif13 <int>, bif14 <int>, bif15 <int>, bif16 <int>,
## # bif17 <int>, bif18 <int>, bif19 <int>, bif20 <int>, bif21 <int>,
## # bif22 <int>, bif23 <int>, bif24 <int>, bif25 <int>
d_sq
), si el caso fue marcado como aberrante
(flagged
), y posiblemente los valores de los ítems del
test.tabla_aberrantes <- resultado$tabla_aberrantes
head(tabla_aberrantes)
## ID bif1 bif2 bif3 bif4 bif5 bif6 bif7 bif8 bif9 bif10 bif11 bif12 bif13 bif14
## 1 1 6 6 5 6 5 6 6 6 1 3 2 1 6 5
## 2 2 4 3 1 5 1 3 2 4 2 4 3 6 4 2
## 3 3 4 4 5 6 5 4 3 5 3 2 1 3 2 5
## 4 4 4 5 2 2 1 5 5 5 2 2 3 4 3 6
## 5 5 1 5 6 5 6 4 3 2 4 5 2 1 2 5
## 6 6 2 6 5 6 5 3 5 6 3 6 2 2 4 6
## bif15 bif16 bif17 bif18 bif19 bif20 bif21 bif22 bif23 bif24 bif25 d_sq
## 1 6 3 5 2 2 3 4 3 5 6 1 26.30947
## 2 1 6 3 2 6 4 3 2 4 5 3 49.15441
## 3 4 3 3 4 2 3 5 3 5 6 3 19.51865
## 4 5 2 4 2 2 3 5 2 5 5 5 34.92296
## 5 2 2 2 2 2 2 6 1 5 5 2 24.67082
## 6 6 4 4 4 6 6 6 1 5 6 1 27.89039
## flagged
## 1 FALSE
## 2 FALSE
## 3 FALSE
## 4 FALSE
## 5 FALSE
## 6 FALSE
Ventura-León, J. (2024). PsyMetricTools [Software]. GitHub. https://github.com/jventural/PsyMetricTools
Yentes R, & Wilhelm F (2023). careless: Procedures for computing indices of careless responding. R package version 1.2.2.