1

私が取り組んでいるデータフレームは、各観測 (つまり、行) にソースノード ( from) とターゲットノード ( to) が他のいくつかの 2 項共変量 (2 項相関など) と共に含まれる 2 項形式でコード化されていcorrます。

簡単にするために、各ダイアドを順序付けされていないものとして扱い、以下のように各ダイアドに一意の識別子を生成しますdf1

# original data
df <- data.frame(
from = c("A", "A", "A", "B", "C", "A", "D", "E", "F", "B"),
to = c("B", "C", "D", "C", "B", "B", "A", "A", "A", "A"),
corr = c(0.5, 0.7, 0.2, 0.15, 0.15, 0.5, 0.2, 0.45, 0.54, 0.5))

   from to corr
1     A  B 0.50
2     A  C 0.70
3     A  D 0.20
4     B  C 0.15
5     C  B 0.15
6     A  B 0.50
7     D  A 0.20
8     E  A 0.45
9     F  A 0.54
10    B  A 0.50

# desired format
df1 <- data.frame(
from = c("A", "A", "A", "B", "C", "A", "D", "E", "F", "B"),
to = c("B", "C", "D", "C", "B", "B", "A", "A", "A", "A"),
corr = c(0.5, 0.7, 0.2, 0.15, 0.15, 0.5, 0.2, 0.45, 0.54, 0.5),
dyad = c(1, 2, 3, 4, 4, 1, 3, 5, 6, 1))

   from to corr dyad
1     A  B 0.50    1
2     A  C 0.70    2
3     A  D 0.20    3
4     B  C 0.15    4
5     C  B 0.15    4
6     A  B 0.50    1
7     D  A 0.20    3
8     E  A 0.45    5
9     F  A 0.54    6
10    B  A 0.50    1

ここで、ダイアド AB/BA、AD/DA は同一のペアとして扱われ、同じダイアド識別子が割り当てられます。元のデータから順序付けられていないペアのリストを抽出するのは簡単ですが、それらを元のデータフレームにマッピングして順序付けられていないダイアド識別子を生成するのは困難です。誰かがこれについていくつかの洞察を提供できますか?

4

2 に答える 2