按另一数据框的列对数据框排序

时间:2018-11-23 16:37:18

标签: r

请考虑以下dfdf1 <-data.frame('GID'=c('GID1','GID3','GID2','GID1','GID2'), 'Sequence'= c(4,7,6,2,3)) df2 <- data.frame('GID' = c('GID3','GID1','GID2','GID1','GID2'),'Trial'=c('SA1','SA5','ES4','ES3','ES9'))

我想按列df1df2$GID进行排序,以便可以将cbinddf2$Trial放入df1中。我知道match可以做到,但是match仅找到值的第一次出现,并且我有重复的值。因此,我对这样做的方式感到困惑,因为这是大型data.frame的子集。

1 个答案:

答案 0 :(得分:1)

您是否尝试过以下方式使用matchdf1 <- df1[match(df2$GID, df1$GID),](请务必检查结果)?

 GID Sequence
2   GID3        7
1   GID1        4
3   GID2        6
1.1 GID1        4
3.1 GID2        6

您是否要获得GID,序列和试验的笛卡尔积?

此外,df1中是否不存在df2的GID,您想如何处理?

您是否有任何数据充当“键”,可以唯一地标识每个条目?