r - 如何查看 `dplyr::collect` 方法的帮助?

标签 r dplyr

我试图找出可以将哪些附加参数传递给 dplyr::collect在省略号中 ... .我想这样做是因为我相信 collect 的行为在dplyr之间发生了变化版本0.4.30.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"不起作用。

最佳答案

正如 Chrisss 所指出的和 Zheyuan Li :

  • 运行后方法名称旁边的星号/星号/* methods表示这些方法中的每一个都不是从 dplyr 导出的命名空间。
  • 要访问帮助文件,需要使用三个冒号,即 ?dplyr:::collect.tbl_sql
  • 但是,这些方法没有帮助文件,因此我们需要检查源代码以查看这些函数在各自版本中的行为。

  • 0.4.3通过检查 tbl-sqr.r source code 中的文件:
    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 的行为确实以我的问题中最初描述的方式发生了变化。

    关于r - 如何查看 `dplyr::collect` 方法的帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39714170/

    相关文章:

    r - 我没有成功地使用 LOCF 方法,如我所愿

    r - 如何用 dplyr 替换多列中的 NA

    r - 在以列标签作为字符向量的函数中使用 dplyr 动词

    r - 我可以通过 ID 列和最近的日期值在 R 中连接 2 个数据帧吗

    r - 如何使用 R 中的值转换数据框和 dplyr 跨多个列更改值

    删除单个 dplyr group_by 组

    r - 如何使用预测()

    r - 基于不同的多行值集创建列

    r - 加入两个邻接矩阵并保留值

    r - 显示文件或对象之间的差异