Метки на 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)

Другие вопросы по тегам