gpt4 book ai didi

r - 根据多个列匹配两个data.frames

转载 作者:行者123 更新时间:2023-12-04 05:38:24 27 4
gpt4 key购买 nike

此刻我的头静止不动。我想基于较小的data.frame(mdf)中的列从较大的data.frame(df)中匹配/提取数据。我遇到的问题是我想匹配多个列(在这种情况下为两个)。我尝试使用例如不同的方法mergewhichmatch %in%,但未成功。

# Dummy example

# Large df
df <- mtcars[1:6,1:3]
df$car_1 <- rownames(df)
df$car_2 <- rownames(tail(mtcars))

# df to match
mdf <- df[c("car_1","car_2")][3:6,]

rownames(df) <- NULL
rownames(mdf) <- NULL

所需的输出看起来像
 mpg cyl disp             car_1          car_2
22.8 4 108 Datsun 710 Ford Pantera L
21.4 6 258 Hornet 4 Drive Ferrari Dino
18.7 8 360 Hornet Sportabout Maserati Bora
18.1 6 225 Valiant Volvo 142E

感觉应该很简单。

任何指针将不胜感激,谢谢!

最佳答案

merge(df, mdf, all.x = FALSE, all.y = TRUE)怎么样?

编辑:如果您使用不同的列名,则可以指定要合并的列名,例如:

names(mdf) <- c("car_3", "car_4")
merge(df, mdf, by.x = c("car_1", "car_2"), by.y = c("car_3", "car_4"),
all.x = FALSE, all.y = TRUE)

关于r - 根据多个列匹配两个data.frames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26596305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com