用簇索引修改原始数据

时间:2017-09-23 20:04:30

标签: r hierarchical-clustering

我正在使用这个玩具代码来执行一些基本的层次聚类:

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文件?

1 个答案:

答案 0 :(得分:1)

您已创建的变量clusterCut包含群集。您只需将它们添加到data.frame并使用write.csv来保存数据。

OrginalData$clusterCut = clusterCut 
write.csv(OrginalData, "EnhancedIris.csv", row.names=FALSE)