我的一个学生问了我以下问题:
我是通过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是什么导致了这种情况?
发布于 2018-08-21 08:36:07
看起来scoreItems与tibbles是不兼容的(至少在1.8.4版本中是这样)。
如果您将密钥转换为纯data.frame,应该可以解决这个问题:
meta.bfi <- as.data.frame(meta.bfi)也就是说,scoreItems确实需要行名称,所以在将来,如果row.names从其功能中完全删除row.names,您可能需要再次添加row.names(目前,它们已被弃用)。
进一步的背景
本练习基于ProjectTemplate,在0.8.2版中,ProjectTemplate开始默认将data.frames转换为tibbles (https://tibble.tidyverse.org/ )。虽然tibbles类似于data.frames,但它们并不完全相同。它们确实会导致一些需要纯data.frame的函数出现问题。
关于在未来的ProjectTemplate:https://github.com/KentonWhite/ProjectTemplate/issues/271版本中,这种到tibbles的转换是否是可选的,还在讨论中
https://stackoverflow.com/questions/51940117
复制相似问题