R 从单个向量查找数据帧中的值

R 从单个向量查找数据帧中的值,r,merge,match,vlookup,lookup,R,Merge,Match,Vlookup,Lookup,我在这里尝试了不同的东西,但没有得到我想要的结果。我想做的是使用向量v1这应该可以: my_output <- df1$NC2[df1$RFC %in% v1] my_output如果您想要tidyverse解决方案,请看这里 library(dplyr) vlookup_Output <- function(DF, x, col, out){ DF %>% filter(get(col) %in% x) %>% pull(out) }

我在这里尝试了不同的东西,但没有得到我想要的结果。我想做的是使用向量
v1这应该可以:

my_output <- df1$NC2[df1$RFC %in% v1]

my_output如果您想要
tidyverse
解决方案,请看这里

library(dplyr)

vlookup_Output <- function(DF, x, col, out){
  DF %>% 
    filter(get(col) %in% x) %>% 
    pull(out) 
} 

v1 <- 22201691
vlookup_Output(df1, v1, "RFC", "NC2")
#[1] 239
库(dplyr)
vlookup_产量%
筛选器(获取%x中的(列)%%>%
拔出
} 

v1 df1$NC2[df1$RFC%in%v1]感谢这项工作,但这里是我遇到的问题。所以我的v1向量是从另一个data.frame中提取的。当我执行str(v1)时,它是num,但当我运行脚本时,它显示为numeric(0)。现在,如果我手动输入v1的数字,效果会很好。谢谢你的帮助。谢谢你的帮助。这是我遇到的问题。所以我的v1向量是从另一个data.frame中提取的。当我执行str(v1)时,它是num,但当我运行脚本时,它显示为numeric(0)。现在,如果我手动输入v1的数字,效果很好。@Bentlybarte,如果该值在另一个数据帧的列中,您可以按照我更新的答案中的建议执行。@Bentlybarte不客气!如果答案解决了问题,你也可以认为它是有用的。谢谢,这是有效的,但这里是我的问题。所以我的v1向量是从另一个data.frame中提取的。当我执行str(v1)时,它是num,但当我运行脚本时,它显示为numeric(0)。现在,如果我手动输入v1的数字,效果会很好。@Bentlyberte你确定没有因子吗?我不确定。我用str()检查了data.frame v1的来源,我选择的列是一个num。@BentlyBartee我无法重现你所说的内容。我刚刚用
v1
作为数字、字符和因子对它进行了测试,它总是有效的。
my_output <- df1$NC2[df1$RFC %in% v1]
df2 <- data.frame(V1 = c(22201691))

df1$NC2[df1$RFC %in% df2$V1]
library(dplyr)

vlookup_Output <- function(DF, x, col, out){
  DF %>% 
    filter(get(col) %in% x) %>% 
    pull(out) 
} 

v1 <- 22201691
vlookup_Output(df1, v1, "RFC", "NC2")
#[1] 239
df1 <-
structure(list(RFC = c(22294961L, 22200691L, 22201691L, 22701619L, 
22717619L), NC2 = c(239L, 239L, 239L, 344L, 344L)), class = "data.frame", row.names = c(NA, 
-5L))