как вы связываете свои результаты cutree обратно к вашему фрейму данных в r - PullRequest
0 голосов
/ 04 апреля 2020

Я сгруппировал набор данных на основе широты и долготы и использовал функцию среза, чтобы определить, к какому кластеру относится каждая уникальная широта и долгота. Мой вывод показан здесь . AL ###### - это уникальный идентификатор, а номер под ним - его кластер. Теперь мне нужно связать эти результаты с моим исходным набором данных. Как добавленная проблема, переменная, в которой я сохранил результаты работы среза, по какой-то причине является классом int, и если я изменю его на фрейм данных, он не будет работать. Кто-нибудь знаком с cutree или знает, как решить эту проблему? Спасибо.

    CoastList <- list()
for(i in names(table(CoastHurricanes$ID))){
  Newtemp <- CoastHurricanes[CoastHurricanes$ID == i, c("Latitude","Longitude")]
  CoastList[[i]] <- as.data.frame(Newtemp)
}

Coast.dist.mat <- dist(x = CoastList, method = "DTW")

HurricaneTaxonomy <- hclust(Coast.dist.mat)
plot(clusters)
memb <- cutree(HurricaneTaxonomy, 10)
CoastHurricanes$ClusterGroup <- NA

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Вот как я это исправил, если кому-то интересно. CoastHurricanes <- as.data.frame(CoastHurricanes) for(i in names(memb)){ CoastHurricanes$ClusterGroup[CoastHurricanes$ID == i] <- memb[names(memb) == i] }

0 голосов
/ 04 апреля 2020

Попробуйте использовать функцию mutate из dplyr. Mutate создает в вашем наборе данных столбец, который, как я вижу, является CoastHurricanes.

library(dplyr)

CoastHurricanes <- CoastHurricanes %>% mutate(ClusterGroup = memb)

...