R 中的 K 均值聚类

K-means clustering in R

我是 R 的初学者,我关注 this tutorial on K-means clustering. However, I'm trying to run this algorithm on real data. I chose : http://exoplanet.eu/catalog/

我已加载数据:

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]))"
)

我有以下图形:

我想 运行 此图上的 K 均值聚类算法以显示三个具有颜色的聚类,但我不知道如何在 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)。请问有什么线索吗?

自从您使用

阅读您的文件
d <- read.csv2("exoplanet.eu_catalog.csv",
header = TRUE,
sep = ",")

你的数据是数据框的形式,你需要转换成矩阵

使用此代码将数据框转换为矩阵

inMatrixForm <- data.matrix(d)