我正在尝试使用FactoMineR在数据表上运行MCA.它仅包含0/1数字列,其大小为200.000*20.
require(FactoMineR)
result <- MCA(data[, colnames, with=F], ncp = 3)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
其中的错误(unlist(lapply(listModa,is.numeric))):'which'的参数不合逻辑
我真的不知道如何处理这个错误.然后我试着将每一列都变成了角色,一切都运转了.我认为它可能对其他人有用,也许有人能够向我解释错误;)
干杯
我明白如何在明确定义列名时更改列的级别,如本例中的Matt Dowle所示:
setattr(mydt$value,"levels",c(...))
Run Code Online (Sandbox Code Playgroud)
但是,在现实生活中的问题中,您通常不知道列名.当代码中没有明确给出"value"时,这种技术似乎不起作用:
setattr(mydt[,get("value")],"levels",c(...))
Run Code Online (Sandbox Code Playgroud)
这是一个问题.我想这个语法给我的副本列而不是对列的引用,与mydt $ value相反,但我不知道如何解决这个问题:'(
谢谢
请看这个较旧的问题