используйте psych reverse.code () на фрейме данных в R - PullRequest
2 голосов
/ 17 февраля 2020

Я пытаюсь использовать reverse.code () из пакета psych для одного столбца в кадре данных, который имеет цифры c и не числа c столбцы. Однако, когда я пытаюсь сделать это, я получаю сообщение об ошибке:

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

Есть ли у вас какие-либо предложения о том, как это сделать? Я делаю учебник для моих учеников, которые сильно различаются по своим R-способностям, поэтому чем проще код, тем лучше. Вот фиктивный набор данных, который выдает ту же ошибку:

sample <- tibble(name = c("Joe", "Frank"),
                 item_1 = c(1, 1),
                 item_2 = c(1, 1),
                 item_3 = c(5, 5))

key <- c("item_3")
reverse.code(keys = key, items = sample, mini = 1, maxi = 5)

1 Ответ

2 голосов
/ 17 февраля 2020

Если мы select данных, не включая первый столбец, т.е. character столбец, он должен работать

library(psych)
reverse.code(keys = key, items =sample[-1], mini = 1, maxi = 5)
#    item_1 item_2 item_3-
#[1,]      1      1       1
#[2,]      1      1       1

Или в %>%

library(dplyr)
sample %>%
    select_if(is.numeric) %>%
    reverse.code(keys  = key, items = ., mini = 1, maxi = 5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...