r语言 - 根据条件改变表项的一部分



如果另一列中的某个条件为真,我想删除/更改单元格中的措辞。我的df看起来像这样:

<表类> 路线 模式 tbody><<tr>火车,汽车,火车第一英里汽车,飞机,火车主要英里火车——飞机汽车第一英里汽车第一英里

你可以在用公共交通代替火车的ifelse中使用gsub:

df <- data.frame(Route = c("train - car - train", "car - plane - train", "train - plane - car", "car"),
mode = c("first mile", "main mile", "first mile", "first mile"))

df$Route <- with(df, ifelse(mode == "first mile", gsub("train", "public transport", Route), Route))
df
#>                                       Route       mode
#> 1 public transport - car - public transport first mile
#> 2                       car - plane - train  main mile
#> 3            public transport - plane - car first mile
#> 4                                       car first mile

由reprex包(v2.0.1)创建于2022-07-03