2017-03-15 127 views
0

我是R中的初学者,我在K均值聚类上跟随this tutorial。但是,我试图在真实数据上运行此算法。我选择:http://exoplanet.eu/catalog/R中的K均值聚类

我已经加载的数据:

d <- read.csv2(
    "exoplanet.eu_catalog.csv", 
    header = TRUE, 
    sep = "," 
) 

有了这个代码:

plot(
    x = log(as.numeric(as.character(d$semi_major_axis))), 
    y = log(as.numeric(as.character(d$mass))), 
    xlab = "Star-exoplanet distance (log(UA))", 
    ylab = "Mass of exoplanets (log(M[Jupiter]))" 
) 

我有以下图文:

Graphic

我想在这个gra上运行K-means聚类算法形性,以显示三组颜色,但我不知道如何着手R.我想我得首先:

y = log(as.numeric(as.character(d$mass))) 
y <- y[!is.na(y)] 
x = log(as.numeric(as.character(d$semi_major_axis))) 
x <- x[!is.na(x)] 

但我不知道如何将数据格式化成一个矩阵,以运行kmeans(matrix, 3, nstart = 20)。有任何线索吗?

回答

0

既然你阅读使用文件

d <- read.csv2("exoplanet.eu_catalog.csv", 
header = TRUE, 
sep = ",") 

你的数据在数据帧的形式,你需要为矩阵

使用此代码到数据帧转换成矩阵

转换
inMatrixForm <- data.matrix(d)