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:
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!
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.
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.
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
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