do_one(nmeth)出错:外部函数调用中的NA / NaN / Inf(arg 1)

时间:2016-04-07 07:40:01

标签: r machine-learning cluster-analysis data-mining k-means

我有一个包含数字的数据表(“norm”) - 至少我能看到的 - 以下形式的标准化值:

A screenshot of the table

当我执行时

k <- kmeans(norm,center=3)

我收到以下错误:

Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
你能帮帮我吗?谢谢!

4 个答案:

答案 0 :(得分:15)

kmeans无法处理具有NA值的数据。

然后不再明确定义均值和方差,并且您不再知道哪个中心最接近。

答案 1 :(得分:6)

  

do_one(nmeth)中的错误:外部函数调用(arg 1)中的NA / NaN / Inf

由于表中存在非数字值,也会发生此错误。

答案 2 :(得分:2)

所有拥有“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 :(得分:1)

有关错误说明:

  

do_one(nmeth)中的错误:外部函数调用(arg 1)中的NA / NaN / Inf

您上面发布的数据集包含按比例缩放的条目,其原因必须是您的数据集中具有NA值,因此在以下代码中将其省略。

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