我怎样才能看到`dplyr :: collect`方法的帮助?

我试图找出哪些额外的参数可以传递给省略号中的dplyr :: 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方法的帮助文件,但无法解决如何获取collect.tbl_sql的帮助,因为?“dplyr :: collect.tbl_sql”不起作用.

最佳答案 如
Chrisss
Zheyuan Li所述:

>运行方法后方法名称旁边的星号/星号/ *表示不从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))
}

因此,我们可以得出结论,收集的行为确实以我最初在我的问题中描述的方式改变了.

点赞