web-dev-qa-db-ja.com

do_one(nmeth)のエラー:外部関数呼び出しのNA / NaN / Inf(引数1)

私は数値を含むデータテーブル(「ノルム」)を持っています-少なくとも私が見ることができるものに-次の形式の正規化された値:

A screenshot of the table

私が実行しているとき

k <- kmeans(norm,center=3)

私は次のエラーを受け取っています:

Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)

手伝って頂けますか?ありがとうございました!

15
Joni

kmeansは、NA値を持つデータを処理できません。

その場合、平均と分散は明確に定義されなくなり、どの中心が最も近いかがわかりません。

17
Anony-Mousse

Do_one(nmeth)のエラー:外部関数呼び出しのNA/NaN/Inf(引数1)

このエラーは、テーブルに数値以外の値があるためにも発生します。

7
Richie

「do_one(nmeth)のエラー:外部関数呼び出しのNA/NaN/Inf(arg 1)」の問題を抱えているすべての人

results <- kmeans(iris.features,3)
results

以下を書いてください。アイリスの場合には注意してくださいあなたが最初に使用したものは何でも書きます

results <- kmeans(na.omit(irisa.features),3) # this helps in omitting NA 
results
3

エラーを述べる場合:

Do_one(nmeth)のエラー:外部関数呼び出しのNA/NaN/Inf(引数1)

上記で投稿したデータセットにはスケーリングされたエントリが含まれています。その理由は、データセットにNA値が含まれている必要があるため、次のコードでそれらを省略します。

km_cluster <- kmeans(na.omit(MyData), 3)
km_cluster
km_cluster$withinss
km_cluster$tot.withinss/km_cluster$betweenss