2017-04-11 44 views
0

我有數據幀MCA從數據幀

  name a b c d e f 
1  220-volt 1 8 12 17 22 8 
2  aliexpress 7 133 317 372 358 349 
3  bonprix 0 3 14 13 21 11 
4  citilink 1 20 40 31 29 30 
5   dns 1 16 37 34 39 38 
6   ebay 3 32 65 50 55 58 
7  eldorado 0 19 76 44 42 56 
8  kupivip 0 8 17 24 11 18 
9  labirint 0 15 30 34 36 32 
10  lamoda 3 25 66 73 68 55 

,我嘗試建立MCA的情節。 我用FactoMineR和使用代碼

library(FactoMineR) 
df <- read.table("info.csv", header = TRUE, sep=';') 
row.names(df) = df$name 
df = df[,-1] 
res.mca <- MCA(df) 

但它返回

Error in which(unlist(lapply(listModa, is.numeric))) : argument to 'which' is not logical 

我怎樣才能避免這個錯誤?

回答

1

我下載了代碼並複製了您的data.frame(請使用dput或其他可重複使用的示例),並得到相同的錯誤。

當你?MCA你會發現,X需要爲: a data frame with n rows (individuals) and p columns (categorical variables)

後,我改變了列函數運行的因素。

試試這個: df[] <- lapply(df, factor)

提示:使用row.names = 1,當你閱讀的數據集的第一列作爲行名稱爲您data.frame。 df <- read.table("info.csv", header = T, sep = ";", row.names = 1)