R 如何合并两个数据帧

R 如何合并两个数据帧,r,join,R,Join,假设我有两个数据帧。例如: a <- c(10,20,30,40) b <- c('b', 'p', 't', 'x') c <- c(TRUE,FALSE,TRUE,FALSE) d <- c(2.5, 8, 10, 7) df1 <- data.frame(a,b,c,d) e<-c(2.5,2.5,8,8,8,10,10,10) f<-c(T, T, F, F, F, T, F, T) df2<- data.frame(e,f) a我们

假设我有两个数据帧。例如:

a <- c(10,20,30,40)
b <- c('b', 'p', 't', 'x')
c <- c(TRUE,FALSE,TRUE,FALSE)
d <- c(2.5, 8, 10, 7)
df1 <- data.frame(a,b,c,d)


e<-c(2.5,2.5,8,8,8,10,10,10)
f<-c(T, T, F, F, F, T, F, T)
df2<- data.frame(e,f)

a我们可以在
base R

merge(df2, df1[c('b', 'd')], by.x = 'e', by.y = 'd')

我们可以在
base R

merge(df2, df1[c('b', 'd')], by.x = 'e', by.y = 'd')

另一个使用
match

df2$b <- df1$b[match(df2$e,df1$d)]

另一个使用
match

df2$b <- df1$b[match(df2$e,df1$d)]

很高兴看到
合并
解决方案,+1感谢您的快速回复!这两种解决方案都很有魅力,比我刚才做的要快得多:)很高兴看到
合并
解决方案,+1感谢您的快速回复!这两种解决方案都很有魅力,比我刚才做的要快得多:)谢谢你的快速回复!这很有魅力。谢谢你的快速回复!这很有魅力。这能回答你的问题吗?这回答了你的问题吗?