我试图找出哪些其他参数可以在省略号dplyr::collect
中传递给...
。我想这样做是因为我认为collect
版本dplyr
和0.4.3
之间0.5
的行为发生了变化。似乎在新版本collect()
中只下载了前100k行,除非传递了新的n = Inf
参数。
我使用以下方法检索了与collect
相关联的方法:
> methods('collect')
[1] collect.data.frame* collect.tbl_sql*
see '?methods' for accessing help and source code
我查看了S3 methods
的帮助文件,但无法确定如何获取collect.tbl_sql
的帮助,因为?"dplyr::collect.tbl_sql"
不起作用。
答案 0 :(得分:2)
正如Chrisss和Zheyuan Li所述:
methods
后方法名称旁边的星号/星号/ *表示不会从dplyr
命名空间导出这些方法。?dplyr:::collect.tbl_sql
0.4.3
通过检查source code中的tbl-sqr.r
文件:
collect.tbl_sql <- function(x, ...) {
grouped_df(x$query$fetch(), groups(x))
}
和0.5
:
> dplyr:::collect.tbl_sql
function (x, ..., n = 1e+05, warn_incomplete = TRUE)
{
assert_that(length(n) == 1, n > 0L)
if (n == Inf) {
n <- -1
}
sql <- sql_render(x)
res <- dbSendQuery(x$src$con, sql)
on.exit(dbClearResult(res))
out <- dbFetch(res, n)
if (warn_incomplete) {
res_warn_incomplete(res, "n = Inf")
}
grouped_df(out, groups(x))
}
因此,我们可以得出结论,collect
的行为确实以我最初在我的问题中描述的方式发生了变化。