問題タブ [r-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ ライブラリを含む R パッケージはウィンドウ用にビルドできません
Rcpp を使用して R パッケージを作成しようとしています。Linux では動作するようにできましたが、Windows では動作しませんでした。
私の C++ コードと別のライブラリが含まれています。コードはこちらから入手できます: https://github.com/Healthcast/TransEnt/tree/devel-win
で、ライブラリに対して実行したMakevars.win
ことがわかります。MakefileWin
で DLL を作成するためにMakefileWin
、次のものを使用しています。
問題は、DLL を作成できないことです。警告とエラーが表示されます。(ただし、Linux ではありません) 次のように:
ANN.cpp:46:9: 警告: 'ANNdist annDist(int, ANNpoint, ANNpoint)' が dllimport 属性なしで再宣言されました: 以前の dllimport は無視されました [-Wattributes]
perf.cpp:71:14: エラー: 関数 'void annResetStats(int)' 定義は dllimport とマークされています
さまざまなことを試しましたが、ここで何をすべきかを正確に理解するのに問題があります。
また、すべてのソース ファイルを src フォルダーにコピーして単純な makewars ファイルを作成しようとしたところ、次のようなさまざまなエラーが発生しました。
compute_TE.o:compute_TE.cpp:(.text+0x8ad): `_imp___Z11annAllocPtsii' への未定義の参照
r - Rパッケージ内で「隠しグローバル変数」を定義する方法は?
Rには次の2つの機能があります。
この関数は、関数を呼び出した瞬間の CPU 時間でexs.time.start
グローバル変数 ( ) を作成します。exs.time
関数exs.time.stop
はそのグローバル変数にアクセスし、 と の実行間の時間を返しexs.time.start
ますexs.time.stop
。
私の目的は、これら 2 つの関数を使用して R でパッケージを作成することです。exs.time
そのグローバル変数 ( ) をユーザーには見えない変数に定義して、R グローバル環境でこの変数を見ることができないようにするにはどうすればよいですか?
この変数を R パッケージ環境/名前空間内の「非表示」グローバル変数として定義できますか?
パッケージを扱うのは初めてなので、パッケージを定義するときに名前空間ファイルをうまく使用する方法が正確にはわかりません。R Studio と Roxygen2 を使用してパッケージを作成しています。
どんな助けや提案も素晴らしいでしょう!
c - C igraph への R パッケージ リンク
igraph C ライブラリを使用する C コードがいくつかあります。それらからRパッケージを作りたいと思います。
私の質問は以前にここで尋ねられました:外部 C ライブラリにリンクする R パッケージ しかし、3 年前に尋ねられたので、更新がないことを確認したかったのです。
依存関係を使用すると、igraph 全体をパッケージにコピーしない可能性はありますか? 私は makevars に少し慣れていますが、各システムで igraph lib への正しいパスを見つける方法がわかりません。
前もって感謝します
r - Rパッケージ内のエクスポートされた関数から内部関数を呼び出す
RStudio で R パッケージを作成しています。という名前のパッケージに2 つの関数がfnbig()
あり、 . パッケージを使用するユーザーがアクセスできる必要がある機能です。は、ユーザーがアクセスできてはならない内部関数ですが、 の内部でアクセスできる必要があります。fnsmall()
foo
fnbig()
fnsmall()
fnbig()
エクスポートしてみましたfnsmall()
。すべてが機能しますが、NAMESPACE を散らかします。をエクスポートしないようにしましたが、またはを使用するfnsmall()
と内部で動作しません。それから私は使用しようとしましたが、うまくいきます。しかし、使用は推奨されていないことを読みました。fnbig()
x <- fnsmall()
x <- foo::fnsmall()
x <- foo:::fnsmall()
:::
これを行う最善の方法は何ですか?エクスポートされた関数から内部関数を呼び出すにはどうすればよいですか?
r - 古いバージョン (1.0.0) をインストールする Install.packages("ggplot2")
そこで、古いバージョンのggplot2
with install_version
from devtools
(0.9.1 か何か) をインストールして、それがどのように機能するかを確認しました。その後、バージョンをアップグレードしたところ、驚くべきことに、現在の 2.0.0 ではなく、バージョン 1.0.0 になりました。
を実行するinstall.packages("ggplot2")
と、同じ 1.0.0 が得られます。またCheck for package upgrades..
、Rstudioメニューから「」アイテムを選択すると、「すべてのパッケージが最新です」と表示されます。
何を与える?今の最新版はggplot
2.0.0じゃないの?ここに私のセッション情報があります:
表示されているリポジトリは次のとおりです。
アップデート:
ディルクのおかげで、何が起こったのかわかりました。RRO パッケージをインストールすると、CRAN リポジトリがリセットされたようです。また、それについて警告を受けるべきだったかもしれませんが、なぜそうしなければならなかったのか、なんとなくわかります。このブログエントリから、修正方法もわかります。http://www.r-bloggers.com/permanently-setting-the-cran-repository/
r - R に coreNLP をインストールする
このリンクの指示に従って、coreNLP https://github.com/statsmaths/coreNLPを使用しています
しかし、私はこのエラーを見つけました
r - R でのビルドおよびリロード中のエラー
Rで作成しているパッケージをroxygenizingしています。
スクリプトは
RStudio でビルドしてリロードすると、エラーは次のようになります。
エラーは 14 行目です。
この行にコメントすると、エラーが消えます。
r - この R パッケージがインストールされないのはなぜですか?どうすれば修正できますか?
R パッケージに Fortran サブルーチンを含めたいと考えています。私は常に devtools と roxygen を使用してのみパッケージをビルドしてきました (そのため、私の知識はかなり限られている可能性があります)。Win32アプリケーションではないというエラーが表示され、ビルド後にパッケージをインストールできなくなります...
Rtools 3.3 を使用しています。私のセッション情報:
最初にパッケージをビルドするには、次を実行します。
/src
これは fortran コードで、ファイルに myFunc.f として保存されています。
私がそれを呼び出すために使用しているRラッパー(/R
ファイルに保存されています):
ここで、ドキュメントを作成してパッケージをインストールするために、次を実行します。
コマンドラインR CMD build myPack
から and thenを使用してパッケージをビルドおよびチェックしようとしましR CMD check myPack_*tar.gz
た。唯一のエラーは、LaTeX パッケージに関するものです。
これをお読みいただきありがとうございます。提供されたヘルプに感謝します。
免責事項: 以前にもこの質問をしましたが、「最小限の方法で」もう一度質問したいと思います。