1 instalar la libreria PsyMetricTools

Es necesario instalar la libreria PsyMetricTools desde github.

if (!require("devtools")) {
  install.packages("devtools")
}
devtools::install_github("jventural/PsyMetricTools")

2 Cargando las librerias a utilizarse

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)

2.1 1. Carga de datos

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)

2.2 2. Renombrar las columnas

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)

2.3 3. Aplicar los nuevos nombres a las columnas

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

3 Eliminación de patrones aberrantes

  1. Se utiliza la función 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)
  1. Se extrae el dataframe filtrado y se guarda en una nueva variable llamada 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>
  1. Se extrae una tabla que contiene información sobre los casos aberrantes encontrados durante el proceso de filtrado. Esta tabla parece incluir información como los valores de la distancia al cuadrado (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

4 Como citar la libreria PsyMetricTools

Ventura-León, J. (2024). PsyMetricTools [Software]. GitHub. https://github.com/jventural/PsyMetricTools

5 Referencia

Yentes R, & Wilhelm F (2023). careless: Procedures for computing indices of careless responding. R package version 1.2.2.