2012-04-10 9 views
1

R内からヘルプファイルのhtmlコードを抽出する、stackoverflowの関数がいくつか見つかりましたが、外部スクリプトからヘルプファイルにアクセスしたい(Python)。 Rの外部からヘルプファイルの実際のHTMLコードを取得するにはどうすればよいですか?ここでR以外のスクリプト(例:Python)からRヘルプにアクセス/抽出する

は可能な解決策です:

  1. 使用コンソールのPythonからRへの呼び出しや、この1 R --slave -e「ライブラリ(MASS)などの他の言語; help25(survey) '> survey.txt このアプローチの問題は、特定の機能がどのパッケージにあるのかよく分かりません。したがって、このアプローチは実際には機能しません。または回避策はありますか?

  2. すべてのヘルプファイルをRから抽出​​し、外部スクリプトからアクセスできるデータベースに保存します。このヘルプデータベースはスクリプトを再実行して更新する必要があるため、難しくはありませんが、迷惑になることもあります。

  3. Rのヘルプデータベースに直接アクセスしますが、構造などについてはわかりません!

任意のアイデアと可能な解決策はありますか?

編集:あなたはそのソースからのRをコンパイルすることができるならば、私はまた、直接ヘルプにアクセスして、 https://github.com/hadley/helpr/issues/27

答えて

1

このバグのためhelprパッケージについて考えたが、R 2.15でそれを試すことができませんでしたファイル(オプション3)は、最もクリーンで簡単なアプローチであるようです。

Rバイナリディストリビューションに付属しているさまざまなHTMLヘルプファイル

が中に格納されています( section 2.2 of R-adminで説明したように)デフォルトでは」、あなたの目的のために残念ながら

R_HOME/doc/html/     # CHANGES, NEWS, other miscellany 
R_HOME/doc/manual/    # An Intro to R, R Language Definition, etc. 
R_HOME/library/<pkg-name>/html/ # help files for packages 

、HTMLヘルプページは、必要なときに作成されていますインストール時に構築されるのではなく、少なくともWindowsの場合(そして、Macの場合は表示されます)、CRANから入手可能な標準のRバイナリは、これらのデフォルト設定で構築されています。

の場合は、そのソースからRをコンパイルできます。これらの静的HTMLヘルプページを作成するようにRに指示するオプションのフラグ/ディレクティブを設定できます。 UNIX(そして、私はMac OS Xと思われます)オペレーティングシステムでは、configureオプション--enable-prebuilt-htmlを設定してください。 Windowsでは、make all recommendedを実行する前に、 "MkRules.dist"または "MkRules.local"にBUILD_HTML = YESを設定してください。

+0

しかし、実際のhtmlファイルが含まれていないという問題があります。 たとえば、ここには書式がありますが、 '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/base/ html/format.html'。私がRのヘルプシステムを理解する限り(そして私の理解は非常に限られています)、ヘルプファイルはいくつかのデータベースから生成されます。 – user2503795

+0

OK、はい。私は上記を忘れてしまった。静的ヘルプファイルが作成され、デフォルトのWindowsバイナリにはないRのインストールが必要です。ソースを自分でコンパイルした場合は、デフォルトで、 '--enable-prebuilt-html'フラグ(UNIXシステムの場合)を変更するか、Windowsの' MkRules.dist'に 'BUILD_HTML = YES'を設定します。 Macで何をすべきかなど、R-adminのマニュアルを参照してください。 (また、チャンスを取るとすぐに、上記の投稿のより完全な編集を行います) –

+0

大丈夫です。ありがとう。一度Rをインストールするとその方法はありません。コンパイルソリューションは自分自身で機能する予定ですが、スクリプトを配布する可能性があり、多くのユーザーにとって大きな障害になる可能性があります。 – user2503795

関連する問題