如何根据两列获取因子变量.R.



我需要在此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)

诀窍在于,在v2 v4中存在任何v1值的情况下,必须1其余情况下v4必须2

所以结果将是这样的:

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)
v4<-c(2,2,1,2,1,1,2,2,2)
df.solution<- data.frame(v1,v2,v3,v4)

使用基 R

df$v4 <- ifelse(df$v1 %in% df$v2, 1, 2)

编辑:在@NelsonGon的答案中的注释之后修改了答案

这是一个示例答案,但您的逻辑和预期结果不匹配:

建议编辑和OP评论后的最终答案

 library(dplyr)
   df %>% 
  mutate(V4=ifelse(v1%in%v2,1,2))

最新更新