【发布时间】:2021-04-17 20:28:43
【问题描述】:
问题
我想以am <- "cyl" 的形式将列名字符串转换为dplyr::arrange。目的是按列cyl排序。
期望的结果
dplyr::arrange(mtcars, cyl)
尝试
am <- "cyl"
1) rlang::quo
dplyr::arrange(mtcars, !!rlang::quo(am))
按am 而非cyl 排序。
2) rang::ensym
dplyr::arrange(mtcars, !!rlang::ensym(am))
按am 而非cyl 排序。
3) 咖喱卷
dplyr::arrange(mtcars, {{am}})
未排序。
背景
在实际功能中,我按我正在创建的索引列对数据框进行排序。具有列名的变量称为index_column。我想保护自己免受包含index_column 的实际数据的影响,尽管这种情况极不可能发生。我可以使用make.names 并扫描唯一的列名来解决这个问题,但我对解决上述问题更感兴趣。
【问题讨论】:
标签: r dplyr rlang tidyeval quosure