我有一个包含数字的数据表(“norm”) - 至少我能看到的 - 以下形式的标准化值:
当我执行时
k <- kmeans(norm,center=3)
我收到以下错误:
Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
你能帮帮我吗?谢谢!
答案 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