我正在使用这个玩具代码来执行一些基本的层次聚类:
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文件?
答案 0 :(得分:1)
您已创建的变量clusterCut
包含群集。您只需将它们添加到data.frame并使用write.csv
来保存数据。
OrginalData$clusterCut = clusterCut
write.csv(OrginalData, "EnhancedIris.csv", row.names=FALSE)