我想根据一列的结果提取另一列的值
这是我的例子:在这个例子中,indiv
的值可以修改。如果indiv
的值是“19125”,我想获得值“Paul”,但是如果indiv
的值是“19”,我想获得值“2022”。
indiv<-19125
df<-data.frame(Code_barre = c(19124, 19125, 19132, 19131),
ID = c("Jean","Paul","Marie","Georges"),
cross = c(18,15,19,20),
Names = c("2020","2021","2022", "2023"))
这就是我所尝试的:
df%>% filter(Code_barre%in% indiv|cross %in% indiv)%>%
select(if(Code_barre%in% indiv){ID}else
if(cross%in% indiv){Names})
首先我过滤了相应的行,然后有条件地选择了列,但是它不起作用......有什么想法吗?
2条答案
按热度按时间6za6bjd01#
您可以执行一个简单的
if/else
函数:juud5qan2#
这里有一个函数可以解决这个问题。
创建于2023年1月11日,使用reprex v2.0.2