我有一个数据帧DF1。 id表示参与者的号码,然后我们对每个参与者的观察(行)很少:
id blocktype condition blocknr markodd
1 1 1 1 0
1 3 2 2 0
1 3 3 2 0
2 1 2 1 0
2 1 1 2 0
2 1 1 2 0
3 4 1 1 0
3 1 1 2 0
3 2 1 2 0
我还有另一个数据框DF2,附加数据,这次是每个人的单行:
id taskorder exporder
1 1 1
2 2 1
3 1 2
我想从DF2中为每个id获取一个值,并将其复制并乘以相应id的所有观察值,所有这些都在DF1的新列中,以便我得到:
id blocktype condition blocknr markodd taskorder
1 1 1 1 0 1
1 3 2 2 0 1
1 3 3 2 0 1
2 1 2 1 0 2
2 1 1 2 0 2
2 1 1 2 0 2
3 4 1 1 0 1
3 1 1 2 0 1
3 2 1 2 0 1
你能告诉我怎么做吗? dplyr解决方案是最可取的!
答案 0 :(得分:1)
试试这个:
DF1 <- DF1 %>% left_join(DF2, by="id") %>% dplyr::select(colnames(DF1), taskorder)