Cómo colorear las etiquetas de un dendrograma por una variable de factor adicional en R

He producido un dendrograma después de ejecutar un análisis de agrupamiento jerárquico en R usando el siguiente código. Ahora estoy tratando de colorear las etiquetas de acuerdo con otra variable de factor, que se guarda como un vector. Lo más cerca que he llegado de lograr esto es codificar por color las ramas usando elColourDendrogram funcionar en elsparcl paquete. Si es posible, preferiría codificar por color las etiquetas. He encontrado respuestas a preguntas similares en los siguientes enlacesColorear ramas de dendrograma usando una columna existente & Colorear ramas en un dendrograma en R, pero no he podido averiguar cómo convertir el código de ejemplo para mi propósito. A continuación se muestran algunos datos y códigos de ejemplo.

> dput(df)
structure(list(labs = c("a1", "a2", "a3", "a4", "a5", "a6", "a7", 
"a8", "b1", "b2", "b3", "b4", "b5", "b6", "b7"), var = c(1L, 
1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 2L), td = c(13.1, 
14.5, 16.7, 12.9, 14.9, 15.6, 13.4, 15.3, 12.8, 14.5, 14.7, 13.1, 
14.9, 15.6, 14.6), fd = c(2L, 3L, 3L, 1L, 2L, 3L, 2L, 3L, 2L, 
4L, 2L, 1L, 4L, 3L, 3L)), .Names = c("labs", "var", "td", "fd"
), class = "data.frame", row.names = c(NA, -15L))

df.nw = df[,3:4]
labs = df$labs

d = dist(as.matrix(df.nw))                          # find distance matrix 
hc = hclust(d, method="complete")                   # apply hierarchical clustering 
plot(hc, hang=-0.01, cex=0.6, labels=labs, xlab="") # plot the dendrogram

hcd = as.dendrogram(hc)                             # convert hclust to dendrogram 
plot(hcd, cex=0.6)                                  # plot using dendrogram object

Var = df$var                                        # factor variable for colours
varCol = gsub("1","red",Var)                        # convert numbers to colours
varCol = gsub("2","blue",varCol)

# colour-code dendrogram branches by a factor 
library(sparcl)
ColorDendrogram(hc, y=varCol, branchlength=0.9, labels=labs,
                xlab="", ylab="", sub="")   

Cualquier consejo sobre cómo hacer esto sería muy apreciado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta