我正在尝试在循环中运行k-means聚类,但是不能通过使用下面的代码来执行此操作....你能帮助我吗?
rd_1<-mydata
ID <- as.character(unique(rd_1$hotel))
length(ID)
final_data <- data.frame()
#For Loop
for (i in 1: length(ID)) {
test_subset <- rd_1[rd_1$hotel==ID[i],]
#K-means clustering
set.seed(65890)
results<-kmeans(test_subset[,c(3:4)],centers = 3,nstart = 25)
rd_1<-data.frame(rd_1,results$cluster)
final_data <-rbind(final_data,test_subset)
}
答案 0 :(得分:0)
我看到的问题是您要将模型结果添加回rd_1
而不是test_subset
。请尝试以下修订版:
for (i in 1: length(ID)) {
test_subset <- rd_1[rd_1$hotel==ID[i],]
#K-means clustering
set.seed(65890)
results<-kmeans(test_subset[,c(3:4)],centers = 3,nstart = 25)
test_subset<-data.frame(test_subset,results$cluster)
final_data <-rbind(final_data,test_subset)
}