使用下面这个简单的数据框,我想创建一个新列,其中包含City =“Toronto”和PostInjury =“0-1”的实例为1,City =“Montreal”和PostInjury =“6-10”的实例为2,其他情况为3。
我想使用mutate和if_else,但不确定如何使用此组合将多个列组合有条件地重新编码为一个新列,而不需要中间步骤?我可以使用两个if_else语句创建两个新列,然后使用Tidyr的unite将它们组合起来,然后进行重新编码,但那似乎非常繁琐。
我是不是漏掉了什么优雅的方法?我有一种感觉。有没有办法在dplyr中以这种方式使用if_else,或者也许是case_when?
我想使用mutate和if_else,但不确定如何使用此组合将多个列组合有条件地重新编码为一个新列,而不需要中间步骤?我可以使用两个if_else语句创建两个新列,然后使用Tidyr的unite将它们组合起来,然后进行重新编码,但那似乎非常繁琐。
我是不是漏掉了什么优雅的方法?我有一种感觉。有没有办法在dplyr中以这种方式使用if_else,或者也许是case_when?
City<-c("Toronto", "Toronto", "Montreal","Ottawa","Montreal",
"Hamilton","Peterborough","Toronto","Hamilton","Montreal")
Client<-c("Cl1","Cl2","Cl3","Cl4","Cl5","Cl6","Cl7","Cl8","Cl9","Cl10")
PostInjury<-c("0-1","6-10","0-1","2-5","6-10","0-1","11-15","0-1","0-1","6-10")
DF<- data.frame(City,Client,PostInjury)