首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FactoMineR中的MCA

FactoMineR中的MCA
EN

Stack Overflow用户
提问于 2013-07-10 20:32:47
回答 1查看 1.3K关注 0票数 0

我正在使用FactoMine R绘制一个MCA图,我有如下数据表:

代码语言:javascript
复制
Met  Aa     Fn      Pg      Pi      Tf      Smut    Ssob    An      Csput
C1  High    N.S.    N.S.    N.S.    High    N.S.    High    High    N.S.
C2  High    N.S.    Low     High    N.S.    N.S.    N.S.    N.S.    N.S.
C4  High    High    N.S.    High    N.S.    N.S.    High    N.S.    High
C6  N.S.    N.S.    High    N.S.    N.S.    N.S.    N.S.    N.S.    High
C9  Low     Low     Low     Low     Low     High    N.S.    Low     Low
C12 N.S.    N.S.    Low     N.S.    N.S.    N.S.    High    N.S.    High

###So I loaded my data
metabolites<-read.csv2('MCA24h_carbon.csv',dec='.')##all metabolites at 24h

###Named the column
metID<-metabolites$met

###Created a new matrix
newmet<-subset(metabolites,select=-c(Met))

### and the number of categories per variable
cats<- apply (newmet, 2, function(x) nlevels(as.factor(x)))


#and this is the output I get from the analysis:
structure(c(85L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 
3L, 3L, 3L, 3L), .Names = c("Var", "Aa", "Fn", "Pg", "Pi", "Tf", 
"Smut", "Ssob", "An", "Csput"))

这是我的第一个红色标志。之后,我执行了MCA,看看我会得到什么,代码如下:

代码语言:javascript
复制
mca1=MCA(metabolites, graph=FALSE)
mca1$eig
mca1$var$coord
mca1$ind$coord
mca1_var_df=data.frame(mca1$var$coord, Variable=rep(names(cats), cats))
mca1_obs_df= data.frame(mca1$ind$coord)

然后,我在控制台中获得以下内容:

代码语言:javascript
复制
Error in data.frame(mca1$var$coord, Variable = rep(names(cats), cats)) : 
  arguments imply differing number of rows: 269, 254

我刚开始使用R(1周),但我有使用SAS的经验……我不知道我做错了什么,也不知道为什么R将我的数据固定到上面的结构中(3L,3L,3L...)有没有人知道该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2013-07-26 00:13:16

我也有同样的问题,我通过删除NA`s来修复它,并检查您的因子级别是否与该因子的标签数量相同!

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

https://stackoverflow.com/questions/17570753

复制
相关文章

相似问题

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