我有两个数据框,我想知道如何在数据框“ a”中创建一个新列,以指示何时与b匹配?
数据:
a <- c("123","123","321","321", "213")
a <- data.frame(a)
b <- c("123", "213")
b <- data.frame(b)
结果:
Match
123 Yes
123 Yes
321 No
321 No
213 Yes
答案 0 :(得分:0)
一个选择%in%
是基于'b'中的元素在'a'中创建逻辑向量,然后将其更改为数字索引(+ 1
),使用该索引来更改值改为“否”,“是”
data.frame(Match = c("No", "Yes")[(a$a %in% b$b) +1])
# Match
#1 Yes
#2 Yes
#3 No
#4 No
#5 Yes
data.frame
不允许重复的行名,因此,如果我们需要'a'中的原始列,请改为将其创建为列。行名的
cbind(a, Match = c("No", "Yes")[(a$a %in% b$b) +1])