0

私は使用してperl-cgiから呼び出しています

my $call = qx(Rscript tcga_analysis.R $bg_name $ctr_name $set $user);

サーバーでunixから使用するRscript myRscript.Rと動作しますが、perlからはパッケージをロードできないようです。次のエラーが表示されます (Apache ログから):

Error in library(gplots) : there is no package called 'gplots'

.libPaths() を使用:

> .libPaths()
[1] "/home/sbattaglia/R/x86_64-redhat-linux-gnu-library/3.1"
[2] "/usr/lib64/R/library"
[3] "/usr/share/R/library"

ホームフォルダーに私の個人的なライブラリが表示されます。

使ってみた

library(gplots, lib.loc="/home/sbattaglia/R/x86_64-redhat-linux-gnu-library/3.1")

しかしlib.loc error、そこにはライブラリ ツリーがないということわざがあります。.Rprofileライブラリへのパスを含む作業ディレクトリにファイルを作成しましたが、成功しませんでした。私も追加しようとしましpos=1たが、成功しませんでした...

ただし、Rを開いて呼び出すlibrary(gplots)と機能します

これは、Web インターフェイスを使用する分析パイプラインの一部であるため、perl から Rscript を呼び出して動作させる必要があります -> perl-cgi -> R を使用して一部のデータを分析します!

ありがとう :)

4

1 に答える 1

0

@floded とのチャットで出た回答を投稿します。

基本的に、ライブラリはサーバー上のフォルダーにあり、Apache からは見えませんでした。.R および .cgi ファイルが指定された場所に必要なパッケージを再ダウンロードし、library(gplots, lib.loc="correctPathToLibrary")それが機能しました :)

于 2014-09-06T17:46:25.607 に答える