Ошибка в функции scoreItems в пакете psych: столбцы не найдены

Один из моих учеников задал мне следующий вопрос:

Я работал над этим упражнением. Всякий раз, когда я пробую эту функцию из пакета psych:

scoreItems(meta.bfi[,v$big5], ccases[,meta.bfi$name])

Выходит с этой ошибкой:

Error: Columns `2`, `3`, `4`, `5`, `1`, `6`, `7`, `8`, `9`, `10`, `13`, 
       `14`, `15`, `11`, `12`, `16`, `17`, `18`, `19`, 
        `20`, `21`, `23`, `24`, `22`, `25` not found

Что вызывает это?


person Jeromy Anglim    schedule 21.08.2018    source источник


Ответы (1)


Кажется, что scoreItems несовместим с табличками (по крайней мере, с версии 1.8.4).

Если вы преобразуете ключ в чистый data.frame, это должно решить проблему:

meta.bfi <- as.data.frame(meta.bfi)

Тем не менее, scoreItems действительно ожидает имена строк, поэтому в будущем вам может понадобиться снова добавить row.names, если tibble полностью удалит row.names из своей функциональности (в настоящее время они устарели).

Дополнительная информация

Упражнение основано на ProjectTemplate, и в версии 0.8.2 ProjectTemplate по умолчанию начал преобразовывать data.frames в tibbles (https://tibble.tidyverse.org/ ). Хотя таблички похожи на data.frames, они не идентичны. Они вызывают проблемы с некоторыми функциями, которые ожидают чистый data.frame.

Обсуждается, будет ли это преобразование в таблички необязательным в будущем выпуске ProjectTemplate: https://github.com/KentonWhite/ProjectTemplate/issues/271

person Jeromy Anglim    schedule 21.08.2018