R语言 如何查找某个值是否存在于某个范围中,并在新列中打印“FOUND”或“MISSING”

bkhjykvo  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(156)

我正在尝试执行一个类似于下面Excel fount中函数的函数:

IF(COUNTIF(RANGE, CRITERIA), "FOUND", "MISSING")

我想在我的数据框中打印一个新列,包含已找到或缺失。我知道在R中我可以在%中使用%,例如:

A$C %in C$B

查找A Dataframe 的C列中的值是否存在于C Dataframe 的B列中的值中。然而,我不知道如何使用条件函数将所述结果子集化,以将找到的或缺少的结果打印到正确行中的新列。
以下是 Dataframe 的示例:

A <- data.frame("C" = c(3,5,9,21,25), "D" = 1:5)
C <- data.frame("B" = c(3,6,21,22,8) , "F" = 10:14)

A$C %in% C$B

A[A$C %in% C$B,]
qybjjes1

qybjjes11#

根据有限的信息:

lookup_list <- c(1:3)

x <- c('a','b','c')
y <- c(10, 3, 5)
df <- data.frame(x,y)

x  y
1 a 10
2 b  3
3 c  5

df <- df %>% 
  mutate(status = case_when(
    y %in% lookup_list ~ 'FOUND',
    !y %in% lookup_list ~ 'MISSING'
  ))

x  y  status
1 a 10 MISSING
2 b  3   FOUND
3 c  5 MISSING

相关问题