我想在导入后在函数中全局添加参数。因此,在将来的函数调用中,应始终使用set参数来调用该函数。 在这种情况下,我想将功能参数in_schema(“ abc”)添加到dplyr的功能tbl中。
通常,我将使用源代码并修改函数参数,保存并获取源代码。但是在这种情况下,我已经无法获得正确的源代码文件。
getAnywhere("tbl.DBIConnection")
找到一个与'tbl.DBIConnection'匹配的对象 在以下地方发现 命名空间dplyr中tbl的已注册S3方法 名称空间:dplyr 有价值
function (src, from, ...) { check_dbplyr() tbl(dbplyr::src_dbi(src, auto_disconnect = FALSE), from = from, ...) }
如何修改tbl函数(在脚本文件中),以便将来的调用始终使用特定的Scheme?
像这样:
tbl(connection, table, in_schema("abc"))
无需始终提供in_schema参数。
答案 0 :(得分:3)
不要复制和修改函数,这很麻烦,请改为执行以下操作:
tbl_abc <- function(src, from, ...){
tbl(src, in_schema("abc", from), ...)
}
btw tbl(connection, table, in_schema("abc"))
是不正确的语法,in_schema("abc")
需要第二个参数,并将其传递给...
不使用的tbl.DBIConnection()