Kmeans clustering error: Issue plotting the clusters

Kmeans clustering error: Issue plotting the clusters

我正在从我之前创建的数据框中读取数据。我必须从我的数据框中 select 几个向量来完成这个任务。但是,当我重新缩放我的数据框对象时,它变成了 "double"(而不是原来的 "list")。

我可以成功地对数据进行聚类,但无法绘制它。

但我无法在简单的二维图中绘制它,因为我收到以下错误:

错误: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

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

1) 使用 dplyr::select(),会产生一个小问题。 2) 将 tibble 强制转换为数据帧

根据自己的理解和@Elin的指导,我做了以下事情:

将 tibble 更改为数据框

ilpd_df2 <- as.data.frame(ilpd_df2)

然后我 运行 生成了代码和下面的图: