gpt4 book ai didi

r - 匹配从另一个数据框中选择最大值

转载 作者:行者123 更新时间:2023-12-02 06:46:58 25 4
gpt4 key购买 nike

我有两个数据框 v1 和 V2。我需要将列 y 从 v2 添加到数据框 v1,但希望匹配值为最大值。例如

v1 <- data.frame(x = c("a1","b2"))
v2 <- data.frame(x = c("a1","a1","b2","b2"), y= c(1,3,4,6))

我正在使用下面的行来填充 v1 中的 y 列。

v1$y <-v2$y[match(v1$x,v2$x)]

下面输出。

> v1
x y
1 a1 1
2 b2 4

match 根据第一次出现取 y,但我需要它基于最大值。像下面的东西

> v1
x y
1 a1 3
2 b2 6

最佳答案

由于 match 返回第一个匹配项,您可以对数据进行排序,使得第一个匹配项是 max 匹配项

v2 <- v2[order(v2$x, -v2$y), ]
v1$y <- v2$y[match(v1$x, v2$x)]

v1
# x y
#1 a1 3
#2 b2 6

关于r - 匹配从另一个数据框中选择最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57177012/

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