全局更改导入的 R 函数

Changing imported R function globally

我想在导入后向函数全局添加一个参数。所以在未来的函数调用中,应该始终使用设置参数调用函数。 在这种情况下,我想将函数参数 in_schema("abc") 添加到 dplyr.

的函数 tbl 中

一般情况下,我会使用源代码,修改函数参数,保存并获取源代码。但在这种情况下,我已经无法获得合适的源代码文件。

getAnywhere("tbl.DBIConnection")

A single object matching 'tbl.DBIConnection' was found It was found in the following places registered S3 method for tbl from namespace dplyr namespace:dplyr with value

function (src, from, ...) 
{
    check_dbplyr()
    tbl(dbplyr::src_dbi(src, auto_disconnect = FALSE), from = from, 
        ...)
}

我如何修改 tbl 函数(在脚本文件中)以便以后的调用始终使用特定的方案?

像这样:

tbl(connection, table, in_schema("abc"))

无需一直提供 in_schema 参数。

不要复制和修改函数,它很乱,而是做这样的事情:

tbl_abc <- function(src, from, ...){
  tbl(src, in_schema("abc", from), ...)
}

btw tbl(connection, table, in_schema("abc")) 是不正确的语法,in_schema("abc") 需要第二个参数,它被传递给 ...tbl.DBIConnection()[=15= 没有使用它]