2016-03-27 24 views
1

Komşu birleştirme ağacını çizmek için R paketini adegenet kullanıyorum.Adegenet R paketini kullanarak bir ağaçta farklı küme için farklı renk

Benim dosyamda 20.000 sütun ve 500 satır var. Satırlar bireylere karşılık gelir. İlk sütüm Nüfus Kimliği ve ikinci sütun Bireysel Kimliği. Sütunlar 0,1 & 2 değerlerini içerir. Bir ağacın bir renkte çizilebilmesini sağlıyorum, ancak popülasyona bağlı olarak her kümenin farklı bir renk olmasını istiyorum.

Bu ne yaptım, ben şu hata edge.col=c("red","green","blue") denerseniz "dat" o zaman,

D<-dist(as.matrix(dat)) 
tre<-nj(D) 
plot(tre, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, edge.col="Blue") 

benim veri dosyası ise:

Error in if (use.edge.length) unrooted.xy(Ntip, Nnode, z$edge, z$edge.length, : 
    argument is not interpretable as logical 

Hasta herhangi bir yardım takdir!

cevap

1

Örneğiniz tekrarlanabilir olmalı, böylece sorununuzu çözmeniz ve yeniden üretmeniz daha kolay olacaktır. more details için bu gönderiye bakın. Ben iris ile çalışıyorum ve bir çekicilik gibi çalışır. Bu arada, adegenet'un burada gerekmediğini düşünüyorum, plot,paketindeki plot.phylo) ve diğer tüm işlevler ya yerleşik ya da ape).

Belgeler (?plot.phylo) diyor ki: çizilen filojenezinin dalları çizmek için kullanılan renkler veren mod karakterinin

edge.col bir vektör. Bunlar phy'nin bileşen kenarından aynı sırayla alınır. Kenar uzunluğundan daha az renk verilirse, renkler geri dönüştürülür.

ape siparişi veya satır korur ve dizine eklemesini renklerin size vektör, böylece iris kullanarak tekrarlanabilir örnek olabilecek bir factor kullanabilirsiniz:

library(ape) 
D <-dist(as.matrix(iris[, 1:4])) 
tree <- nj(D) 
plot(tree, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, 
      edge.col=c("red","green","blue")[iris$Species]) 

istediğiniz bu mu?

+0

Teşekkürler @Vincet! Aradığım şey buydu. Örnekleri isme göre seçici bir şekilde silmenin bir yolu var mı? Bazı örnekler ağacın büyük zamanını mahvediyor. – akang

+0

Rica ederim. 'Ape' de '? Drop.tip '' ye bakın. –

İlgili konular