首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R在FactoMineR错误消息中编程MCA()

R在FactoMineR错误消息中编程MCA()
EN

Stack Overflow用户
提问于 2015-11-04 04:43:51
回答 1查看 7.8K关注 0票数 5

我在R中使用FactoMineR包中的MCA()函数对一组大约160个变量和大约2000个观察值进行多重对应分析。大约150个变量是连续的,所以我首先使用cut()函数将这些连续变量转换为分类变量,然后使用MCA()函数。

我的代码非常简单,如下所示:

代码语言:javascript
复制
library(FactoMineR)

data<-read.csv('demographics.csv')

for (i in 9:length(data)){

   temp<-unlist(data[i],use.names=FALSE)

   data[i]<-cut(temp,breaks=5,labels=c('A','B','C','D','E'))
}

MC<-MCA(data,ncp=10,graph=TRUE)

在运行代码之后,我得到了以下错误消息。

代码语言:javascript
复制
Error in dimnames(res) <- list(attributes(tab)$row.names, listModa) : length of 'dimnames' [2] not equal to array extent

我想知道为什么会发生这个错误,以及如何修复它。我的表中没有丢失数据,并且所有变量都是分类的。

如果有人遇到类似的问题,并愿意提供帮助,我将非常感谢。非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-11-19 01:43:19

我以前遇到过这个错误,因为函数要求变量是因子(而我传递给它的数据并没有完全转换成因子)。与许多其他R函数不同,即使所有列都是分类的,这个函数也不会为您转换数据。

我不太确定您的数据是什么,但很可能有一列或多列不是因子变量。如果您的列1到8已经是因子,那么它可能在read.csv调用中;当您从csv中读取字符串变量时,它们将自动转换为因子,但数值变量不会。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33508702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档