我是R的初学者,我跟着this tutorial进行K-means聚类。但是,我试图在真实数据上运行此算法。我选择了: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-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 :(得分:0)
因为您使用
阅读了文件d <- read.csv2("exoplanet.eu_catalog.csv",
header = TRUE,
sep = ",")
您的数据采用数据框格式,您需要转换为矩阵
使用此代码将数据框转换为矩阵
inMatrixForm <- data.matrix(d)