考虑以下几点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.
您是否尝试过使用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
Run Code Online (Sandbox Code Playgroud)
你想得到GID、Sequence和Trial的笛卡尔积吗?
另外,df2 中是否有任何 df2 的 GID 不存在于 df1 中,您想如何处理?
您是否有任何数据充当“密钥”,唯一标识每个条目?