dplyr 替换多个变量中的值
dplyr Replace values in multiple variables
我需要用 80 替换气缸、齿轮、碳水化合物列中的非 4。我尝试了以下方法,但它不起作用。
mtcars %>% mutate_at(vars(cyl, gear, carb), replace(which(.!=4), 80))
它抛出以下错误:
Error in replace(which(. != 4), 80) :
argument "values" is missing, with no default
我在这里错过了什么?
您需要将函数或公式作为第二个参数传递给 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)))
我需要用 80 替换气缸、齿轮、碳水化合物列中的非 4。我尝试了以下方法,但它不起作用。
mtcars %>% mutate_at(vars(cyl, gear, carb), replace(which(.!=4), 80))
它抛出以下错误:
Error in replace(which(. != 4), 80) :
argument "values" is missing, with no default
我在这里错过了什么?
您需要将函数或公式作为第二个参数传递给 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)))