我正在尝试从psych包中使用具有数字和非数字列的数据框中的一列上的psych包中的reverse.code()。但是,当我尝试执行此操作时,出现错误:
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)
如果我们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)