#r #hierarchical-clustering
Вопрос:
У меня есть эти данные с одним столбцом в символе и одним столбцом в значении.
data = structure(list(Station = c("1A", "1B", "2A", "2B", "3A", "3B",
"4A", "4B", "5A", "5B", "6A", "6B", "7A", "7B"), Particles.kg = c(370L,
420L, 250L, 320L, 130L, 210L, 290L, 390L, 230L, 340L, 60L, 90L,
130L, 170L)), class = "data.frame", row.names = c(NA, -14L))
теперь я преобразую символ в фактор с помощью
data$Station = as.factor(data$Station)
затем я начинаю Иерархический кластерный анализ
rownames(data) = c(data$Station)
data = data[,-1]
require(stats)
res.dist = dist(x=data, method = "euclidean")
hcl = hclust(d=res.dist, method = "complete")
plot(x=hcl, hang = -1, cex = 0.6)
(извините, не могу загрузить картинку из-за проблем с сетью), но после этого на моей картинке в заголовке 1A, 2A, 3A, 3B появляется 1,2,3,…..,14.
как я могу это решить?
Ответ №1:
После удаления 1-го столбца остается только один столбец, который сворачивает данные в вектор. Вектор удаляет имена строк фрейма данных, поэтому меток нет.
Вы можете использовать drop = FALSE
, чтобы сохранить данные в виде фрейма данных после подмножества.
rownames(data) = data$Station
data = data[,-1, drop = FALSE]
res.dist = dist(x=data, method = "euclidean")
hcl = hclust(d=res.dist, method = "complete")
plot(x=hcl, hang = -1, cex = 0.6)
Ответ №2:
Нет необходимости сохранять только столбец измерений, построение графика можно выполнить, вставив данные в dist
инструкцию.
Обратите внимание , что я использую data[-1]
, нет data[, -1]
, что приведет к удалению атрибута dim. Первый всегда возвращает значение sub-df.
rownames(data) <- data$Station
res.dist <- dist(x = data[-1], method = "euclidean")
hcl <- hclust(d = res.dist, method = "complete")
plot(x = hcl, hang = -1, cex = 0.6)