【发布时间】:2017-11-30 05:13:53
【问题描述】:
library(tidyverse)
Column1<-c("Course1","Course1","Course1","Course2","Course2","Course3","Course3","Course3"," Course4","Course4","Course5","Course5")
Column2<-c("Cat","Dog","Snake","Elephant","Beaver","Rabbit","Fish","Bird","Bear","Horse","Raccoon","Skunk")
Df1<-data.frame(Column1,Column2)
使用上面的示例数据,我想根据“Column2”的值有条件地替换/重新编码“Column1”的值。
对于这个简单的示例,如果“Column2”包含“Cat”或“Dog”,则“Column1”值应替换为“Course6”。
到目前为止,我已经尝试了下面的代码。它不起作用,但我觉得我很接近。我也更喜欢 tidyverse 解决方案。
map2(Df1[2],Df1[1],~if_else(.x =="Cat"|"Dog", replace(.y, "Course6")))
map2(Df1[2],Df1[1],~if_else(.x =="Cat"|"Dog", replace(.y, .x,"Course6")))
我们将不胜感激。
【问题讨论】: