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)
然后我 运行 生成了代码和下面的图:
我正在从我之前创建的数据框中读取数据。我必须从我的数据框中 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)
然后我 运行 生成了代码和下面的图: