心理包中scoreItems函数的错误:找不到列

时间:2018-08-21 00:36:07

标签: r psych

我的一个学生问我以下问题:

我正在研究this exercise。每当我从心理软件包尝试此功能时:

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

是什么原因造成的?

1 个答案:

答案 0 :(得分:0)

似乎scoreItems与小程序不兼容(至少从1.8.4版开始)。

如果将密钥转换为纯data.frame,这应该可以解决问题:

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

也就是说,scoreItems确实希望使用行名,因此,将来,如果tibble完全从功能中删除了row.names(当前已弃用),则可能需要再次添加row.names。

更多背景

该练习基于ProjectTemplate,在0.8.2版中,ProjectTemplate开始默认将data.frames转换为tibble(https://tibble.tidyverse.org/)。尽管小标题与data.frames类似,但它们并不相同。它们确实会导致某些期望纯data.frame的功能出现问题。

目前正在讨论在将来的ProjectTemplate版本中是否可以将这种转换为小标题: https://github.com/KentonWhite/ProjectTemplate/issues/271