重新排序 DataFrame 列以匹配 R 中另一个 DataFrame 的排序顺序

问题描述 投票:0回答:1

我有两个数据框 df1 和 df2,包含三列 L、M 和 G。

df1 <- data.frame(L= c(0, 1,1,2,2,2,3,3,3,3), M= c(0,0,1,0,1,2,0,1,2,3), G= (1:10))
df2<- data.frame(L=c(0,1,2,3,1,2,3,2,3,3), M= c(0,0,0,0,1,1,1,2,2,3), G= c(12, 13, 4, 6, 7, 54, 87,56,3,0))

保持 df1 不变,不作任何更改。但是,我想将 df2 的 L 和 M 重新排列为与 df1 相同的排序,同时保持 df2 中 G 的相应值不变 我想要得到以下结果

desired_result <- data.frame(L= c(0,1,1,2,2,2,3,3,3,3), M= c(0,0,1,0,1,2,0,1,2,3), G= c(12,13,7,4,54,56,6,87,3,0))
r sorting frame
1个回答
0
投票

G
中删除
df1
列后,您可以进行简单的连接。

library(dplyr)
  
df1 %>% select(-G) %>% left_join(df2, join_by(L, M)) 
© www.soinside.com 2019 - 2024. All rights reserved.