我需要在此data.frame中创建一个新列v4
:
v1<-c(1,2,4,7,9,12,34,56,43)
v2<-c(4,4,9,56,73,457,12,12,5585)
v3<-c(7,7,43,124,415,552,552,12525,99)
df<- data.frame(v1,v2,v3)
诀窍在于,在v1
v2
中存在任何v4
值的情况下,必须{{1}成为1
所以结果将是这样的:
v4
答案 0 :(得分:2)
这是一个简单的答案,但是您的逻辑和预期结果不匹配:
在建议的修改和OP的评论之后,最终答案:
library(dplyr)
df %>%
mutate(V4=ifelse(v1%in%v2,1,2))
答案 1 :(得分:2)
使用基数R
df$v4 <- ifelse(df$v1 %in% df$v2, 1, 2)
编辑:在@NelsonGon的答案中的注释之后修改答案