全局更改导入的 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= 没有使用它]
我想在导入后向函数全局添加一个参数。所以在未来的函数调用中,应该始终使用设置参数调用函数。 在这种情况下,我想将函数参数 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= 没有使用它]