@Anikoは、私の問題を表示する1つの方法は、頂点がグループおよび変数group
と呼ばれnominated_group
、これら2つのグループ間のエッジを示すグラフの連結成分を見つける必要があることを指摘しています。parent_Group
私の目標は、連結成分にインデックスを付ける変数を作成することです。または私が前にそれを置いたように:
、、、、、およびの4つの変数を持つデータフレームがID
あります。 group
nominated_ID
nominated_Group
姉妹グループについて考えてみましょう。データにgroup==Aとnomination_group==Bのケースが少なくとも1つある場合、またはその逆の場合、グループAとBは姉妹グループです。
parent_group
姉妹グループのセットごとに一意の値をとる変数を作成したいと思います。言い換えれば、異なるparent_group
sのケース間で指名が行われるべきではありません。連番を作るのparent_group
は良い考えのようです。
私がすでにここで受けた助けに感謝します!ここでは実際に貢献することはできませんが、stats.exchangeとウィキペディアで前払いしようとしていることに注意してください。
私の偽のデータでは、AとBは姉妹グループです。これを実現するには、ID=4またはID=5のいずれの場合でも十分です。各グループは、独自の姉妹グループでもあります。目標であるの作成は、 AまたはBのすべてのケースで1つ、グループCでもうparent_group
1つになるはずです。parent_group
parent_group
df <- data.frame(ID = c(9, 5, 2, 4, 3, 7),
group = c("A", "A", "B", "B", "A", "C"),
nominated_ID = c(9, 8, 4, 9, 2, 7) )
df$nominated_group <- with(df, group[match(nominated_ID, ID)])
df
ID group nominated_ID nominated_group
1 9 A 9 A
2 5 A 8 <NA>
3 2 B 4 B
4 4 B 9 A
5 3 A 2 B
6 7 C 7 C