R语言:创建无需额外参数、按列名及other_前缀选列的函数
创建选择指定列及对应
other_前缀列的R函数 完整实现代码
library(tidyverse) # 生成带前缀列的示例数据框 iris_df <- iris %>% mutate(other_Species = Species) # 定义目标函数 iris_fn <- function(df, col){ df %>% select(all_of(c(col, paste0("other_", col)))) } # 调用函数测试 iris_fn(df = iris_df, col = "Species")
代码说明
- 函数仅接收
df(输入数据框)和col(指定列的名称字符串)两个参数,未添加额外参数,完全符合需求 - 通过
paste0("other_", col)自动拼接生成带前缀的目标列名,无需手动输入前缀列 - 使用
all_of()将字符串形式的列名传递给select(),确保tidyselect语法能正确识别输入的列名 - 执行后会返回仅包含指定列和对应
other_前缀列的子数据框
注意:如果输入数据框中不存在对应的
other_前缀列,函数会抛出列不存在的错误;若需处理该场景可额外添加逻辑,但需求未要求,故未实现
内容的提问来源于stack exchange,提问作者Basil
相关产品推荐
相关产品推荐

