r - 在看门人 tabyl 中使用字符串!!!顶层
问题描述
我正在尝试使用字符串向量作为janitor
函数内的列输入tabyl
我知道我可以将字符串转换为符号,然后使用big bang
inside dplyr 函数,例如group_by
stg <- syms(c("gear", "carb"))
mtcars %>% group_by(!!!stg) %>% summarise(count = n())
但是当我尝试将相同的逻辑应用于janitor
函数时tabyl
,我得到了错误:
mtcars %>%
tabyl(!!!stg) %>%
adorn_pct_formatting(rounding = "half up", digits = 0) %>%
adorn_ns(position = "front")
不能!!!
在顶层使用
解决方案
一种选择是创建一个表达式并eval
uate
library(rlang)
exp1 <- expr(mtcars %>%
tabyl(!!!stg) %>%
adorn_pct_formatting(rounding = "half up", digits = 0) %>%
adorn_ns(position = "front"))
eval_tidy(exp1)
#gear 1 2 3 4 6 8
# 3 3 (300%) 4 (400%) 3 (300%) 5 (500%) 0 (0%) 0 (0%)
# 4 4 (400%) 4 (400%) 0 (0%) 4 (400%) 0 (0%) 0 (0%)
# 5 0 (0%) 2 (200%) 0 (0%) 1 (100%) 1 (100%) 1 (100%)
推荐阅读
- java - 查询工作时sql命令未正确结束是什么意思
- linux - 在 bash 文件中为 mosquitto 代理使用密码文件
- hibernate - 在Spring中以相同的形式上传具有另一个对象的文件
- game-physics - 在与线碰撞后求出球的 X 和 Y 速度
- wordpress - WooCommerce 中的“无效电子邮件”
- google-drive-api - Google Drive API -- 根 ID
- wordpress - 如何获得正确的 docker-compose Multiline 环境变量格式?
- c++ - 相同的程序在 C 中有效,但在 C++ 中无效(使用 linux 系统调用)
- typescript - 类型“ProxyTargetUrl”错误中不存在属性“主机”。即使我在 JS 文件中获得 IntelliSense
- sql-server - 拒绝对存储过程中的表的选择权限 - SQL Server