2017-10-12 12 views
0

Rパッケージからエクスポートされた関数を抽出し、各関数、呼び出し署名、およびドキュメントの説明を含むリストを返すR関数を作成しようとしています。エクスポートされた関数のリストを取得するrパッケージからのドキュメントの抽出

は、次の手順を実行して、比較的容易に行うことができます。

# Extracts all exported function names from dplyr 
library(dplyr) 
lsf.str("package:dplyr") 

私も名前を使用して、指定された関数の呼び出しシグネチャを取得することができます。

# Extract call signature for the join function in dplyr 
lsf.str("package:dplyr")[10] %>% 
    get() %>% 
    deparse() %>% 
    head(1) 

私はこれらの機能のそれぞれのヘルプセクションを自動的に開くことさえできます:

しかし、この関数の説明のテキストを含む文字列を返すにはどうすればよいですか?したがって、dplyrの結合関数の場合は、返さなければなりません。

個々のtblメソッドにディスパッチする汎用関数です。個々のデータソースの詳細については、メソッドのドキュメントを参照してください。 xとyは通常同じデータソースからのものでなければなりませんが、copyがTRUEの場合、yは自動的にxと同じソースにコピーされます。

改行を削除

答えて

3
library(tidyverse) 

lsf.str("package:dplyr")[10] %>% 
    help("dplyr") %>% 
    utils:::.getHelpFile() %>% 
    keep(~attr(.x, "Rd_tag") == "\\description") %>% 
    map(as.character) %>% 
    flatten_chr() %>% 
    paste0(., collapse="") 
## [1] "\nThese are generic functions that dispatch to individual tbl methods - see the\nmethod documentation for details of individual data sources. x and\ny should usually be from the same data source, but if copy is\nTRUE, y will automatically be copied to the same source as x.\n" 

これは非常によく、ほとんどの時間を動作しますが、時々で混合コードの書式になりたとえば、中の平均結果から、使用を引っ張っ

+0

:-) OPに左運動です。: "(x、trim = 0、na.rm = FALSE、list())" \ nmean(x、list())\ n \ nリスト(リスト(\ "平均\")、リスト(\ "デフォルト\ \ n " これらのリストコールをクリアする方法はありますか? – jrdnmdhl

+0

はい。これは「働く」と呼ばれます。ほとんどの場合に機能する汎用ソリューションの概要があります。既存のコードには、より多くの回答を探すためのヒントがたくさんあります。完璧は、あなたのためにあなたの仕事をしたいと思っている探求者や他の人までです。 – hrbrmstr

+0

私のフォローアップは、完全に間違った仮定であるため、私が働いていないと思わないでください。私はこれと他の多くのことに取り組んでいます。あなたや他の誰かが私のフォローアップとそれを提供するケアに対する答えを持っているなら、私はそれを高く評価します。私はさらにあなたがすでに述べた答えを感謝します。これは非常に便利です。 – jrdnmdhl

関連する問題