Метки на Tanglegram не работают (dendextend)
Я несколько раз пытался поместить метки на tanglegram (package dendextend), но мои метки (etic) не работают, они также работают на простом графике. Какую команду мне использовать?
> dati<-read.table("moto.txt",header=T)
> dat<-dati[,-1:-3] #I delete the first three columns because they are
qualitative variables (motorcycle brand and model)
> etic<-read.table("moto.txt",header=T)[,2] #my labels (motorcycle model)
> etic
[1] R1200GS AfricaT V-Strom Scrambl MT-07 Z650 Tracer Multist CB500X
Iron883 CMX500 Vulcan Supers CBR-RR GSX-R
> sdx<-scale(dat)
> d<-dist(sdx)#I assign the matrix of distances to "d"
> library (dendextend)
> hc1<-hclust(d,method="complete")
> hs1<-hclust(d,method="single")
> tanglegram(hc1,hs1, labels=etic)
Error in axis(side = side, at = at, labels = labels, ...) :
'labels' is supplied and not 'at'
Inoltre: Warning messages:
1: In plot.window(...) : parametro grafico "labels" non valido
2: In plot.xy(xy, type, ...) : parametro grafico "labels" non valido
> tanglegram(hc1,hs1) #tanglegram work but without labels
3 ответа
В функции нет аргумента под названием "метки". Предполагается, что вы обновите метки вашей дендрограммы и добавите ее в эту каскадную диаграмму.
Проблема может заключаться в том, что вам не назначены ярлыки. См. этот ответ для более полного объяснения, но вот простое решение
#run hclust()
my.hclust<-hclust(distance,method="ward.D2")
#check the summary. If 'labels' says 'NULL' you need to assign them
summary(my.hclust)
Length Class Mode
merge 94 -none- numeric
height 47 -none- numeric
order 48 -none- numeric
labels 0 -none- NULL
method 1 -none- character
call 3 -none- call
dist.method 1 -none- character
#they can easily be assigned from the original dataframe using
my.hclust$labels <- mydf$mylabels
Ваши метки теперь должны отображаться при построении графика с использованиемtanglegram()
Как мне быть? Если я пытаюсь выполнить эту команду, мои метки работают отлично.
сюжет (hc1, hang = -0.1, метки = etic)