如何在dplyr的across函数.names参数中使用函数修改列名
解决方法
只需调整第二个mutate(across(...))的.names参数,在参数的glue表达式内直接调用sub()函数处理{.col}变量,删除不需要的_greater4后缀即可,修改后的完整代码如下:
library(dplyr) head(iris, 5) %>% select(1,2) %>% mutate(across(contains("Sepal"), ~ifelse(. > 4, 1, 0), .names = "{.col}_greater4")) %>% mutate(across(contains("4"), ~ifelse(. < 50, 1, 0), .names = "{sub('_greater4', '', .col)}_greater50"))
运行后输出的列名将符合需求,最后两列会变成Sepal.Length_greater50、Sepal.Width_greater50。
内容的提问来源于stack exchange,提问作者TarJae
相关产品推荐
相关产品推荐

