いちばん失敗した人決定戦

データ解析ソフトRではライブラリによってc++を利用するらしいです。これはRとは別に用意されるものだと思います(ですね?)。Linuxなどは初めから入っているはずですが、Windowsだとどうでしょうか。例えばコマンドプロンプトでcppとかgccとか入力して問題なく動作すればよし、ということなのでしょうか。cpp, gccがMinGWのようなところ以外から導入されている場合もあり、それは不具合を起こすように思います。RをWindowsで利用してRからc++を呼び出す前提条件とはどのようなものなのでしょうか。よろしくお願いします。

A 回答 (1件)

なかなか回答が付かないので私から。



でも、私は専門家ではなく単なるユーザーですので、その範囲でしか回答できません。すみません。

RからCを呼び出し実行するのは、RStanというベイズのMCMCソフトで経験したことがあります。

そのときは、RToolsというライブラリをインストールすることによって、msys2,gcc,g++,gfortran,makeなどのランタイムやコンパイラも同時にインストールされ使えるようになりました。
しかし、コンパネの「システムの詳細設定」で環境変数を編集し、細かくパスを通す必要がありました。これが手作業で面倒だったです。

その後は、ライブラリRStanの関数が、Rの中でそれらを勝手に呼び出し実行するので、DOS窓を開いてコマンドを打ち込む必要はありませんでした。

なお、既にgccなどをインストールしてあっても、ランタイムやコンパイラはrtoolsのディレクトリにインストールされます。2か所に重複してインストールされて無駄に感じますが、既存の環境を壊すようなことはありません。

回答になっていますでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。大元のところでのことですが、そもそもRtoolsって何なの?ということもありました。私はてっきり、計算機上に用意されている開発環境が別にあってそれとRとを結びつける仲立ちをするものだと思っていたのですが、どうもそうではないらしいです。Rtoolsではusr, lib, binのようなフォルダ構造があってその中におなじみコマンド群の実行ファイルが納められており、それ自体がR本体側からみた開発環境となるようです。もし、別途開発環境を持っていたらまるで開発環境が2つあるような状態です(ご指摘のとおり)。そのためRtoolsを計算機の環境変数で呼び出せるようにするとチャンポン状態になって収集がつかなくなります。Rtools40ではWindowsの各ユーザのドキュメントフォルダに.Renviron(環境変数の記述あり)を保存しておく、などして対応するようです。
以上、ご回答とほぼ同じことを確認しました。Windowsでは小細工を何段も積み重ねて対応するという感じですが、Linuxなどはこんなことしなくてもいいのではないかと思いますが。

お礼日時:2021/03/29 15:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!