r - 如何在我想用来进行连接的 R 函数中传递参数
问题描述
在使用 tidyverse 语法编写的 R 函数中,我想将要用于连接的变量的名称(不带“”)作为参数传递。
我的例子如下: 非常感谢提前!
table1 <- data.frame(
name = c("a","b","c"),
especes = c("setosa","versicolor","virginica")
)
mafonc <- function(var=NULL) {
resultat <- iris %>% left_join(table1,
by = c("Species"=var))
return(resultat)
}
mafonc(var=especes)
解决方案
尝试这个。您需要使用enquo()
and as_label()
:
library(tidyverse)
#Code
table1 <- data.frame(
name = c("a","b","c"),
especes = c("setosa","versicolor","virginica")
)
mafonc <- function(var=NULL) {
var <- enquo(var)
resultat <- iris %>% left_join(table1,
by = c("Species"=as_label(var)))
return(resultat)
}
mafonc(var=especes)
推荐阅读
- android - ReactApplicationContext 无法转换为 AppCompatActivity
- scala - sum 和 product 之外是否有代数数据类型?
- ruby-on-rails - 安装导轨时的错误
- javascript - 如何将 ref 传递给使用 onClickOutside('react-onclickoutside') 的 HOC?
- powershell - 禁用鼠标事件
- yii2 - Yii2 yii2mod/yii2-scheduling - InvalidArgumentException: 5 不是有效位置
- html - 如何跟踪html属性变化
- python - 来自终端的 Python / Django 导致语法错误
- java - 基于用户配置的数据库并发问题的自定义序列
- python - Python Scrapy如何在SQL DB中插入所有字典项