R 如何比较具有不同行数的两个TIBLE之间的多个观测值
我有两个tibles dplyr 0.7.4和R 3.4.1,我需要执行以下操作 对于A中的每个变量b,我需要检查b是否等于tibble c中的任何变量c,如果是,则分配变量d,如果不是分配NA 第一个匹配可以,如果有多个匹配,可以使用第一个匹配 两个TIBLE A和C的行数不同 我想使用一种方法,允许与通用函数进行自定义比较。 我更愿意在dplyr中这样做,但任何方法都可以。 Tibble A:R 如何比较具有不同行数的两个TIBLE之间的多个观测值,r,dplyr,R,Dplyr,我有两个tibles dplyr 0.7.4和R 3.4.1,我需要执行以下操作 对于A中的每个变量b,我需要检查b是否等于tibble c中的任何变量c,如果是,则分配变量d,如果不是分配NA 第一个匹配可以,如果有多个匹配,可以使用第一个匹配 两个TIBLE A和C的行数不同 我想使用一种方法,允许与通用函数进行自定义比较。 我更愿意在dplyr中这样做,但任何方法都可以。 Tibble A: b var1_b var2_b ... Tibble C c,d var1_c, var1_d
b
var1_b
var2_b
...
Tibble C
c,d
var1_c, var1_d
var2_c, var2_d
...
这应该行得通
set.seed(1)
A <- data.frame(b = sample(1:40, 20, replace=TRUE))
C <- data.frame(c = sample(1:20, 40, replace=TRUE), d = 1:40)
myfun <- function(A, B) {
sapply(A$b, function(i) B$d[match(i, B$c)])
}
A %>%
mutate(new = myfun(A,C))
# b new
# 1 11 25
# 2 15 19
# 3 23 NA
# 4 37 NA
# 5 9 20
请在问题中包含您输入数据的预期输出请求帮助时,您应该包含一个简单的示例输入和预期输出,可用于测试和验证可能的解决方案。