0
給定一個R數據幀是這樣的:收集跨數據幀的不同行連接的ID
DF.a <- data.frame(ID1 = c("A","B","C","D","E","F","G","H"),
ID2 = c("D",NA,"G",NA,NA,NA,"H",NA),
ID3 = c("F",NA,NA,NA,NA,NA,NA,NA))
> DF.a
ID1 ID2 ID3
1 A D F
2 B <NA> <NA>
3 C G <NA>
4 D <NA> <NA>
5 E <NA> <NA>
6 F <NA> <NA>
7 G H <NA>
8 H <NA> <NA>
我想簡化/它重塑成以下:
DF.b <- data.frame(ID1 = c("A","B","C","E"),
ID2 = c("D",NA,"G",NA),
ID3 = c("F",NA,"H",NA))
> DF.b
ID1 ID2 ID3
1 A D F
2 B <NA> <NA>
3 C G H
4 E <NA> <NA>
似乎不就像一個簡單的重塑。目標是將所有「連接」ID值集中在一行上。注意「C」和「H」之間的連接是間接的,因爲二者都連接到「G」,但它們不會一起出現在DF.a的同一行上。 DF.b行中ID值的順序無關緊要。