web-dev-qa-db-fra.com

Erreur dans do_one (nmeth): NA/NaN/Inf dans l'appel de fonction étrangère (arg 1)

J'ai une table de données ("norme") contenant des valeurs normalisées numériques - du moins à ce que je peux voir - de la forme suivante:

A screenshot of the table

Quand j'exécute

k <- kmeans(norm,center=3)

Je reçois l'erreur suivante:

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

Pouvez-vous m'aider? Je vous remercie!

11
Joni

les kméens ne peuvent pas gérer les données contenant des valeurs NA.

La moyenne et la variance ne sont alors plus bien définies et vous ne savez plus quel centre est le plus proche.

13
Anony-Mousse

Erreur dans do_one (nmeth): NA/NaN/Inf dans l'appel de fonction étrangère (arg 1)

Cette erreur est également due à des valeurs non numériques présentes dans la table.

2
Richie

vous tous qui rencontrez "Erreur dans do_one (nmeth): NA/NaN/Inf dans un appel de fonction étrangère (arg 1)" problème. 

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

écrivez ce qui suit et faites attention au cas en iris écrivez ce que vous avez utilisé au début

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

Pour une erreur indiquant:

Erreur dans do_one (nmeth): NA/NaN/Inf dans l'appel de fonction étrangère (arg 1)

l'ensemble de données que vous avez posté ci-dessus contient des entrées mises à l'échelle. La raison en est probablement que vous avez des valeurs NA dans votre ensemble de données. Par conséquent, omettez-les à l'aide du code suivant.

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