在 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)
只是尝试将 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)