2017-05-15 22 views
0

私は、下記に示すように私は、データフレームを使用して、プロットローカルフィッシャー判別分析ldfa {LFDA}パッケージを実行しています:エラープロットローカルフィッシャー判別分析{LFDA}パッケージ

> dim (df) 
[1] 35 415 

model <- lfda(df[, 2:ncol(df)], df[, 1], r = 3, metric="plain") 

私はこのエラーを取得する:

私は(4,3,2,1)5よりも低い値をテストしているが、それでも、私は別のエラーを取得する :

Error in solve.default(tSw) : 
system is computationally singular: reciprocal condition number = 1.90897e-24 
Error in getAffinityMatrix(distance2, knn, nc) : 
    knn is too large, please try to reduce it. 

KNNは、地元のスケーリング法(5デフォルト)に使用されるパラメータであります

私は問題が何であるかわからないし、どのような私は、説明変数の一つが完全に応答変数に関連付けられている場合、コマンドlfdasystem is computationally singularエラーメッセージが生成さ

答えて

1

行う必要があります。私は完全にyに関連付けX変数生成

X <- iris[,-5] 
y <- iris[,5] 

:私はirisデータセットを検討し、以下の例で

result <- lfda(X, y, r=3, metric="plain") 

Error in solve.default(tSw) : system is computationally singular: reciprocal condition number = 6.85339e-28

X$xnew <- (iris[,5]=="virginica") 

lfdaはエラーメッセージを生成し

希望彼はあなたの問題に対する解決策を見つけるのを手助けすることができます。

+0

'xnew'をどこに保存するのかはっきりしていません。最後の行には 'k'がどこにありますか? – Al14

+0

私は 'k'が実際に' X'であると仮定します – Al14

+1

あなたは正しいです、私は私の答えを編集しました、申し訳ありません。 –

関連する問題