Kmeans聚类错误:绘制聚类时出现问题

问题描述 投票:0回答:1

我正在从之前创建的dataFrame中读取数据。我必须从数据框中选择一些矢量来完成此任务。但是,当我重新缩放数据框对象时,它变成了“双精度”(而不是原来的“列表”)。

我可以成功地将数据聚类,但是无法绘制它。

但是我无法在简单的2D图中绘制它,因为出现以下错误:

错误:data必须是数据帧,或fortify()可强制执行的其他对象,而不是列表

[我也尝试使用as.list将ilpd_df2转换为从“ double”转换回“ list”,但它仍未打印。

#Task 2.1 - Load Preprocessed Data and Subset Data as directed
    ilpd_df <- readRDS(file="ilpd_preprocessed.Rda")
    ilpd_df1 <-
    select(ilpd_df,"TB","DB","Alkphos","Sgpt","Sgot","TP","Albumin")

#Task 2.2 - Re-Scaling
    ilpd_df2 <- apply(ilpd_df1, MARGIN = 2, FUN=function(X) 
    (X - min(X))/diff(range(X)))

#Task 2.3 - Cluster the Data into 2 Clusters
    set.seed(44)
    ilpd_clusters <- kmeans(ilpd_df2, 2, nstart = 25, iter.max=5)
    ggplot(ilpd_df2, aes(Alkphos, TP)) + geom_point()


Error: `data` must be a data frame, or other object coercible by `fortify()`, not a list
r cluster-analysis data-mining k-means
1个回答
0
投票

@ Elin向我指出了我的错误,他提出了以下建议:

1)使用dplyr :: select(),将产生小标题。2)将小标题强制为数据框

根据我自己的理解和@Elin的指导,我执行了以下操作:

将小标题更改为数据框

ilpd_df2 <- as.data.frame(ilpd_df2)

然后我运行代码,并生成以下图:plot generated post code

© www.soinside.com 2019 - 2024. All rights reserved.