0

나는 다음과 같이 데이터 테이블이 FactoMine R.를 사용하여 MCA 플롯을 그리기있어에서 :MCA FactoMineR

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 ...)로 내 데이터를 고쳐 쓰고 있는지 잘 모릅니다. 어떻게 진행할 것인가?

답변

0

나는 동일한 문제가있어서 NA의 을 제거하고이 요인에 대한 레이블보다 동일한 수의 요소 수준을 가지고 있는지 확인합니다.

+0

NA.omit() 함수를 사용하여 NA를 제거 할 수 있습니다. – PAC

+0

감사합니다. 작동하는 것 같았습니다 :) –

관련 문제