我有一个向量:
vector_1 <- c('aa1/10', 'aa1/20', 'aa2/10')
我有一个数据列,其列为:product(某些行为空)
product
hello123
hello123;aa1/20
World
我想要另一列称为:检查。 如果我的vector_1中的值之一在列乘积中,那么我想要一个1,否则为0。
我尝试了不同的方法,但没有成功:
df$check <- ifelse(df$product %in% vector_1, 1,0)
不幸的是,没有结果...所以我尝试了:
df$check <- grepl(vector_1, df$product)
但是我收到一条警告消息:在grep中:参数模式的长度超过1,将仅使用第一个元素。
我该如何解决?
结果:
product check
hello123 0
0
hello123;aa1/20 1
World 0
答案 0 :(得分:3)
df$check <- as.numeric(grepl(pattern = paste0(vector_1, collapse = "|"), x = df$product))