FactoMineR中的MCA

时间:2013-07-10 12:32:47

标签: r multivariate-testing categorical-data correspondence-analysis

我正在使用FactoMine R绘制MCA图。我的数据表看起来像这样:

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只是为了看看我会得到什么,这就是代码:

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)

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

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 ...)有没有人知道如何进行?

1 个答案:

答案 0 :(得分:0)

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