请考虑以下df
:df1 <-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'))
我想按列df1
对df2$GID
进行排序,以便可以将cbind
列df2$Trial
放入df1
中。我知道match
可以做到,但是match
仅找到值的第一次出现,并且我有重复的值。因此,我对这样做的方式感到困惑,因为这是大型data.frame
的子集。
答案 0 :(得分:1)
您是否尝试过以下方式使用match
:df1 <- 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,您想如何处理?
您是否有任何数据充当“键”,可以唯一地标识每个条目?