に被写体IDと一致するシーケンスIDによって2つのデータセットを結合私は単一のものに参加する2つのデータセットがあります両方のデータセットは、最初の列と同じsubject
を有するをdplyr
set.seed(111)
dat1 = data.frame(subject = paste0("A-",c(1,1,2,2,3,3,3,4,4,5)),
seq1 = c(2, 3, 7, 8, 2, 9, 11, 10, 11, 16),
text1 = sample(LETTERS, 10))
dat1
subject seq1 text1
1 A-1 2 P
2 A-1 3 S
3 A-2 7 I
4 A-2 8 L
5 A-3 2 X
6 A-3 9 V
7 A-3 11 A
8 A-4 10 K
9 A-4 11 H
10 A-5 16 B
set.seed(999)
dat2 = data.frame(subject = paste0("A-", c(1,1,1,2,2,3,3,3,4,5,5,5,5)),
seq2 = c(2, 3, 4, 7, 8, 2, 9, 11, 10, 16, 17, 18, 19),
text2 = sample(LETTERS, 13))
dat2
subject seq2 text2
1 A-1 2 K
2 A-1 3 O
3 A-1 4 C
4 A-2 7 T
5 A-2 8 R
6 A-3 2 X
7 A-3 9 M
8 A-3 11 B
9 A-4 10 H
10 A-5 16 Z
11 A-5 17 E
12 A-5 18 I
13 A-5 19 A
が、しかし(seq1
は2と3を有する)が、dat2
には、同じ対象A-1が3つのレコードを有する(seq2
は2と3とを有する)、subject
の観測数は異なる可能性がある(例えば、dat1
で、対象A-私は、同じ行に一意のシーケンス番号(seq1
と)を保持しながら、結合されたデータセットに両方のデータセットのすべてのサブジェクトを含めることを希望します。 seq2
)に対応するtext1
およびtext2
である。 1つのデータセットに1つの配列IDが欠落していても、他のデータセットに同じ配列IDがある場合は、NA
を割り当てます。
最終データセットは次のようになります。ご覧のとおり、参加したデータセットは、同じsubject
で同じseq1
とseq2
を持って
# subject seq1 text1 seq2 text2
# 1 A-1 2 P 2 K
# 2 A-1 NA NA 4 C
# 3 A-1 3 S 3 O
# 4 A-2 7 I 7 T
# 5 A-2 8 L 8 R
# 6 A-3 2 X 2 X
# 7 A-3 9 V 9 M
# 8 A-3 11 A 11 B
# 9 A-4 10 K 10 H
# 10 A-4 11 H NA NA
# 11 A-5 16 B 16 Z
# 12 A-5 17 E NA NA
# 13 A-5 18 I NA NA
# 14 A-5 19 A NA NA
、および欠落しているシーケンスIDの場合(どちらかseq1
またはseq2
中) 、NA
が割り当てられます。このタスクにdplyr
を利用していただきありがとうございます!