在 R 中应用 K 均值聚类时遇到问题

trouble applying K-means clustering in R

只是尝试将 K 均值聚类应用于某些数据以找到最佳 K 并以图形方式说明该过程,但我遇到了麻烦。我认为这可能与我的数据结构有关,但我对这一切都很陌生。

这是我的代码:

nci <- read.csv('/Users/myname/Desktop/ML/nci.datanames.csv')

names(nci)[1] <- "gene"
  
kmeans(nci, 10)

> head(nci)
  gene    CNS    CNS.1  CNS.2     RENAL BREAST  CNS.3  CNS.4 BREAST.1  NSCLC NSCLC.1
1   g1  0.300 0.679961  0.940  2.80e-01  0.485  0.310 -0.830   -0.190  0.460   0.760
2   g2  1.180 1.289961 -0.040 -3.10e-01 -0.465 -0.030  0.000   -0.870  0.000   1.490
3   g3  0.550 0.169961 -0.170  6.80e-01  0.395 -0.100  0.130   -0.450  1.150   0.280
4   g4  1.140 0.379961 -0.040 -8.10e-01  0.905 -0.460 -1.630    0.080 -1.400   0.100
5   g5 -0.265 0.464961 -0.605  6.25e-01  0.200 -0.205  0.075    0.005 -0.005  -0.525
6   g6 -0.070 0.579961  0.000 -1.39e-17 -0.005 -0.540 -0.360    0.350 -0.700   0.360

收到此错误消息:

do_one(nmeth) 中的错误:NA/NaN/Inf 在外部函数调用中 (arg 1) 另外: 警告信息: 在 storage.mode(x) <- "double" 中:强制引入的 NAs

任何帮助将不胜感激!!

要重现您的错误,您可以尝试

lala <- mtcars
lala$a <- LETTERS[1:nrow(mtcars)]
kmeans(lala, 3)
Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In storage.mode(x) <- "double" : NAs introduced by coercion

尝试从 kmeans 调用中删除第一列。

kmeans(nci[,2:ncol(nci)], 10)