簡體   English   中英

在 R 的樹狀圖中添加標簽

[英]Add labels in dendogram in R

我正在嘗試對時間序列應用層次聚類,以便在住宅百分比變化_from_baseline 的時間序列中識別具有相似行為的狀態。 我得到了樹狀圖,但我在 x 軸上得到的索引只是數字,我想要狀態名稱。 我的數據看起來像這樣:數據

這是我的代碼的一部分

data <- dataset
#Convert to factor
cols <- c("country_region_code", "country_region", "sub_region_1", "iso_3166_2_code")
data[cols] <- lapply(data[cols], factor)
sapply(data, class)
data$date <- as.Date(data$date)
summary(data)

#Data preparation
n <- 10
s <- sample(1:100, n)
i <- c(s,0+s,   279+s,  556+s,  833+s,  1110+s, 1387+s, 1664+s, 1941+s, 2218+s, 2495+s, 2772+s, 3049+s, 3326+s, 3603+s, 3880+s, 4157+s, 4434+s, 4711+s, 4988+s, 5265+s, 5542+s, 5819+s, 6096+s, 6373+s, 6650+s, 6927+s, 7204+s, 7481+s, 7758+s, 8035+s, 8312+s, 8589+s, 8866+s)
d <- data[i,3:4]
d$residential <- data[i,11]
d[,2] =NULL
str(d)

pattern <- c(rep('Mexico', n),
             rep('Aguascalientes', n),
             rep('Baja California',n),
             rep('Baja California Sur',n),
             rep('Campeche',n),
             rep('Coahuila',n),
             rep('Colima',n),
             rep('Chiapas',n),
             rep('Chihuahua',n),
             rep('Durango',n),
             rep('Guanajuato',n),
             rep('Guerrero',n),
             rep('Hidalgo',n),
             rep('Jalisco',n),
             rep('México City',n),
             rep('Michoacan',n),
             rep('Morelos',n),
             rep('Nayarit',n),
             rep('Nuevo León',n),
             rep('Oaxaca',n),
             rep('Puebla',n),
             rep('Querétaro',n),
             rep('Quintana Roo',n),
             rep('San Luis Potosí',n),
             rep('Sinaloa',n),
             rep('Sonora',n), 
             rep('Tabasco',n),
             rep('Tamaulipas',n),
             rep('Tlaxcala',n),
             rep('Veracruz',n),
             rep('Yucatán',n),
             rep('Zacatecas.',n))
d <- data.matrix(d)
distance <- dist(d, method = 'euclidean')
hc <- hclust(distance, method="ward.D")
plot(hc, cex=.7, hang = -1, col='blue', labels=pattern)

當我沒有指定帶有數字標簽的標簽樹狀圖時,我得到了這個樹狀圖但是當我這樣做時,我得到了這個錯誤

Error in graphics:::plotHclust(n1, merge, height, order(x$order), hang, : invalid dendrogram input

我希望有人可以幫助我,我有點厭倦了

也許它可以與基礎 r plot function 的替代品一起使用。 試試ggdendroplot。 它應該在軸上顯示標簽。 為此,您將需要 ggplot2。

devtools::install("nicolash2/ggdendroplot")
library(ggdendroplot)
library(ggplot2)

ggplot() + geom_dendro(hc)

如果你想修改它(轉動它、給它上色等),請查看 github 頁面: https://github.com/NicolasH2/ggdendroplot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM