2016-09-27 11 views
4

省略記号...dplyr::collectにどのような引数を渡すことができるかを調べようとしています。 collectの動作がdplyrバージョン0.4.30.5の間で変更されたと私は考えています。新バージョンcollect()では、新しいn = Inf引数が渡されない限り、最初の100k行しかダウンロードされないようです。`dplyr :: collect`メソッドのヘルプを見るにはどうしたらいいですか?

私はcollectが使用に関連するメソッドを取得している:私はS3 methodsのヘルプファイルを見てきましたが、?"dplyr::collect.tbl_sql"が動作しないよう、collect.tbl_sqlのヘルプを取得する方法を考え出すことはできません

> methods('collect') 
[1] collect.data.frame* collect.tbl_sql* 
see '?methods' for accessing help and source code 

+3

そのメソッドのヘルプページはありません。あなたはいつも自分でコードを調べることができます。 'getAnywhere(collect.tbl_sql)'または 'dplyr ::: collect.tbl_sql' – Chrisss

+0

あなたが正しいと思います! – Alex

+0

'*'は名前空間からエクスポートされていないことを意味しますか? – Alex

答えて

2

ChrisssZheyuan Liで述べたように:methodsを実行した後

  1. メソッド名の横にアスタリスク/星/ *は、これらの各方法は、dplyr名前空間からエクスポートされていないことを示しています。ヘルプファイルにアクセスするには
  2. 、1は次の3つのコロンを使用する必要がある、すなわち、?dplyr:::collect.tbl_sql
  3. はしかし、これらの方法にはヘルプファイルがありませんので、我々は、これらの機能のそれぞれの行動を見て、ソース・コードを調べる必要がそれぞれのバージョンで。 0.4.3

source codetbl-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の行動が実際に変化していると結論することができますもともと私の質問に記載されています。

関連する問題