用簇索引修改原始数据
amend original data with cluster indices
我正在使用这个玩具代码来执行一些基本的层次聚类:
library(dplyr)
library(ggplot2)
OrginalData <- read.table("https://s3.amazonaws.com/Somewhere/IrisTabSepData/IrisData.txt",
header = TRUE, sep = "\t")
SubsetData <- subset(OrginalData, select = c(
#"SepalLength"
#,"SepalWidth"
"PetalLength"
,"PetalWidth"
))
clusters = hclust(dist(SubsetData), method = 'average')
plot(clusters)
clusterCut <- cutree(clusters, 3)
table(clusterCut, OrginalData$Species)
ggplot(OrginalData, aes(PetalLength, PetalWidth, color = OrginalData$Species)) +
geom_point(alpha = 0.4, size = 3.5) + geom_point(col = clusterCut) +
scale_color_manual(values = c('black', 'red', 'green'))
是否可以向包含在上述代码中创建的集群的原始数据框 OrginalData 添加一个附加列(在本例中为 3 1-3)并将其写入 csv 文件?
您已经创建的变量 clusterCut
包含集群。您可以简单地将它们添加到 data.frame 并使用 write.csv
保存数据。
OrginalData$clusterCut = clusterCut
write.csv(OrginalData, "EnhancedIris.csv", row.names=FALSE)
我正在使用这个玩具代码来执行一些基本的层次聚类:
library(dplyr)
library(ggplot2)
OrginalData <- read.table("https://s3.amazonaws.com/Somewhere/IrisTabSepData/IrisData.txt",
header = TRUE, sep = "\t")
SubsetData <- subset(OrginalData, select = c(
#"SepalLength"
#,"SepalWidth"
"PetalLength"
,"PetalWidth"
))
clusters = hclust(dist(SubsetData), method = 'average')
plot(clusters)
clusterCut <- cutree(clusters, 3)
table(clusterCut, OrginalData$Species)
ggplot(OrginalData, aes(PetalLength, PetalWidth, color = OrginalData$Species)) +
geom_point(alpha = 0.4, size = 3.5) + geom_point(col = clusterCut) +
scale_color_manual(values = c('black', 'red', 'green'))
是否可以向包含在上述代码中创建的集群的原始数据框 OrginalData 添加一个附加列(在本例中为 3 1-3)并将其写入 csv 文件?
您已经创建的变量 clusterCut
包含集群。您可以简单地将它们添加到 data.frame 并使用 write.csv
保存数据。
OrginalData$clusterCut = clusterCut
write.csv(OrginalData, "EnhancedIris.csv", row.names=FALSE)