【问题标题】:dplyr Replace values in multiple variablesdplyr 替换多个变量中的值
【发布时间】:2018-11-09 20:15:07
【问题描述】:

我需要在 cyl、gear、carb 列中将 non-4 替换为 80。我尝试了以下方法,但它不起作用。

mtcars %>% mutate_at(vars(cyl, gear, carb), replace(which(.!=4), 80))

它会抛出以下错误:

Error in replace(which(. != 4), 80) : 
  argument "values" is missing, with no default

我在这里错过了什么?

【问题讨论】:

    标签: r dplyr stringr magrittr


    【解决方案1】:

    您需要将函数或公式作为第二个参数传递给mutate_at

    mtcars %>% mutate_at(vars(cyl, gear, carb), ~ replace(., which(.!=4), 80))
    

    或者使用funs创建函数:

    mtcars %>% mutate_at(vars(cyl, gear, carb), funs(replace(., which(.!=4), 80)))
    

    【讨论】:

    • 知道了。极好的!谢谢!
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多