Rに関数fを作成したいと思います。これには、個人と個人(例えばA2と呼ばれる)の間のエッジのdata.frameが入ります。 A2の "祖先"と "子ども"だけでなく、祖先と子どもの子孫の祖先も持つ別のdata.frame!私の複雑な問題が説明するためにネットワーク内の祖先と子孫を返すRの関数
:1つの "A" sのネットワークと "B" の持つ別:この例では
library(visNetwork)
nodes <- data.frame(id = c(paste0("A",1:5),paste0("B",1:3)),
label = c(paste0("A",1:5),paste0("B",1:3)))
edges <- data.frame(from = c("A1","A1","A2","A3","A4","B1","B2"),
to = c("A2","A3","A4","A4","A5","B3","B3"))
visNetwork(nodes, edges) %>%
visNodes(font = list(size=45)) %>%
visHierarchicalLayout(direction = "LR", levelSeparation = 500)
を、data.frameは、2つの異なる独立したネットワークが含まれています。
"A"のネットワークに関するすべてのdata.frame edgeを含むdata.frameを返す関数f(data = edges、indiv = "A2")を実装したいと考えています。
F(エッジ、「A2」)はdata.frameエッジのこのエキスを返します
head(f(edges,"A2"))
# from to
#1 A1 A2
#2 A1 A3
#3 A2 A4
#4 A3 A4
#5 A4 A5
私はあなたが私を助けすることは十分に明らかであると思います。
ありがとうございます!
何を試しましたか?あなたが実装しようとしているアルゴリズムは何ですか? –
あなたが望むものを正確に理解しているわけではありませんが、実際には、祖先、児童、子供の子供、祖先の祖先であることを目標にしています。そして、それをコードするために時間を費やす前に(確かに数時間)、私はそれができることを知ったかったのです。ネットワークで作業する。しかし、インターネット上で満足できるものはまだ見つけられませんでした(樹木のみ)ので、もっと専門家に聞いてみたかったです!ありがとう – antuki
私はグラフのアナリストではありませんが、おそらくこれが助けになるでしょう: – romles