Не понимаю, что я делаю не так с обратным кодированием? - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь изменить код некоторых моих данных, так как 24 столбца имеют отрицательные ключи и должны быть изменены.

Я использую этот набор данных: https://www.kaggle.com/tunguz/big-five-personality-test Это - это справочная документация по данным, в которой объясняется, как задаются разные вопросы: https://ipip.ori.org/New_IPIP-50-item-scale.htm Когда я пытаюсь использовать обратный код из психики, я просто получаю эту ошибку:

Error in items %*% keys.d : 
  requires numeric/complex matrix/vector arguments

Я также получаю сообщение об ошибке, сообщающее мне, что я не могу этого сделать со списками .... по какой-то причине я не могу сейчас вызвать эту ошибку ...

library("pacman", "psych")
dataIPIP <- data.final[, c(1:50)]

col_names2 <- c(paste("E", 1:10, sep = ""), paste("N", 1:10, sep = ""), paste("A", 1:10, sep = ""), paste("C", 1:10, sep = ""), paste("O", 1:10, sep = ""))
names(dataIPIP) <- col_names2

keys <- c(1,-1,1,-1,1,-1,1,-1,1,-1,
         -1,1,-1,1,-1,-1,-1,-1,-1,-1,
         -1,1,-1,1,-1,1,-1,1,1,1,
          1,-1,1,-1,1,-1,1,-1,1,1,
          1,-1,1,-1,1,-1,1,1,1,1)
spm_rev <- reverse.code(keys, items = dataIPIP[,-1], mini = rep(1,50), maxi = rep(5,50))

Структура для кадр данных IPIP:

'data.frame':   1015341 obs. of  50 variables:
 $ E1 : chr  "4" "3" "2" "2" ...
 $ E2 : chr  "1" "5" "3" "2" ...
 $ E3 : chr  "5" "3" "4" "2" ...
 $ E4 : chr  "2" "4" "4" "3" ...
 and it goes like this through E5-10, N1-10, A1-10, C1-10 and finally O1-10.

1 Ответ

0 голосов
/ 17 июня 2020

Похоже, что ваши данные были прочитаны как символьные переменные («chr» в обзоре структуры ваших данных). R не знает, как «закодировать букву в обратном порядке», поэтому вам нужно заменить переменные на фактические числовые значения. фрейм данных.

Одна версия для этого в базе R будет

dataIPIP <- as.data.frame(sapply(dataIPIP, as.numeric))

Надеюсь, что это поможет. Ура

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...