私の目的は、lapply または同様に mapply を使用して関数 geom_point2 に引数としてリストを渡すことです。同様の状況で、次のようにリスト (またはリスト) を geom_cladelabel に渡すことに成功しました。
mapply(function (x,y,z,w,v,u,t,s) geom_cladelabel(node=x, label=y,
align=F, etc. # Where x y z etc are lists.
問題は、 aes
内部 geom_point2 の使用に関連しています。(geom_cladelabel にはありません):
geom_point2 の場合、ノード情報は の中aes
にあり、私にはできませんでした。通常、エラー メッセージは表示されませんが、機能しません。
geom_point2
目的は、この例を機能させることですが、 2 回書き込む代わりに mapply を使用します。
# source("https://bioconductor.org/biocLite.R")
# biocLite("ggtree")
library(ggtree)
library(ape)
#standard code
newstree<-rtree(10)
node1<-getMRCA(newstree,c(1,2))
node2<-getMRCA(newstree,c(3,4))
ggtree(newstree)+
geom_point2(aes(subset=(node ==node1) ), fill="black", size=3, shape=23)+
geom_point2(aes(subset=(node ==node2) ), fill="green", size=3, shape=23)
#desire to substitute the geom_point2 layers with mapply or lapply:
#lapply(c(node1,node2), function (x) geom_point2(aes(subset=(node=x)))))