FactoMineRを使用してデータテーブルでMCAを実行しようとしています。 0/1の数値列のみが含まれ、サイズは200.000 * 20です。
require(FactoMineR)
result <- MCA(data[, colnames, with=F], ncp = 3)
次のエラーが発生します:
エラー(unlist(lapply(listModa、is.numeric))): 'への引数'は論理的ではありません
私はこのエラーをどうしたらいいのか本当にわかりませんでした。それから私はすべての列を文字に変えるを試みました、そしてすべてがうまくいきました。私はそれが他の誰かに役立つかもしれないと思いました、そして多分誰かが私にエラーを説明することができるでしょう;)
乾杯
あなたの変数のクラスは文字または因子ですか?私はこの問題を抱えていました。私の解決策は、すべての変数を因数分解に変更することでした。
#my data.frame was "aux.da"
i=0
while(i < ncol(aux.da)){
i=i+1 aux.da[,i] = as.factor(aux.da[,i])
}
昨日Rを学び始めたばかりですが、MCAがcategorical data
用であるためにエラーが発生するため、データを数値にすることはできません。次に、より正確には、MCAの前に「tableaudisjonctif」(申し訳ありませんが、英語の単語がわかりません:完全な選言三段論)が作成されます。したがって、FactomineRはこの関数を使用しています:
https://github.com/cran/FactoMineR/blob/master/R/tab.disjonctif.R
数値に一致するカテゴリ値(Y = 1、N = 0など)を探していると思います。
ほかの人のため ;注意:Rのカテゴリデータはfactor
タイプに関連しているため、even if you have characters you could get this error
です。