2016-08-08 12 views
0

パッケージが既にインストールされている場合は、起動時にパッケージをロードしようとしています。そうでなければ、まずそれをインストールしてからロードします。だから、私は次の関数を作成:起動時にパッケージをロードする

RLoadPackage <- function(packname) 
{ 
    if((packname %in% rownames(installed.packages()))==FALSE) 
    { 
    install.packages(packname,dependencies = TRUE) 
    } 
    library(packname,character.only = TRUE) 
} 

これはRStudioが開かれるとうまく動作しますが、それは、起動時にかなりの作業を行いません。

Error: could not find function "RLoadPackage" 

オプションは、手動でパッケージをインストールしてからlibrary("xyz")

の束を追加することですワン:しかし、私のようにエラーメッセージが表示されます

RLoadPackage("ggplot2") 

RLoadPackage <- function(packname) 
{ 
    if((packname %in% rownames(installed.packages()))==FALSE) 
    { 
    install.packages(packname,dependencies = TRUE) 
    } 
    library(packname,character.only = TRUE) 
} 

:私は私の地元の.RProfileファイルにこの機能を追加しました

しかし、上記のオプションは非常にclunkyです。そこで、私は関数を作成しました。

私は2つの質問しました:

1)誰かがそれで私を助けてくださいことはできますか?

2)これを行うより効率的な方法はありますか?

私のポストは、次の2つのリンクからインスピレーションを得ている: 1)Check for installed packages before running install.packages() 2)http://www.statmethods.net/interface/customizing.html

私は任意の助けをいただければと思います。

ありがとう

+4

'help("。最初 ")'をチェックしてください。 – shayaa

+0

@リチャードScrivenとShayaa - 私はあなたの心を読んでいると信じています!私は、Rが順次関数を処理していると考えました。だから、私は他のものの前にその関数を定義していました。しかし、私はより効率的なコードを探しています - あなたが10-15パッケージをロードする方法を知っていて、私がやろうとしていることをしているなら。私はあなたの助けに感謝します。 – watchtower

+1

「RLoadPackage」を定義する前に 'RLoadPackage(" ggplot2 ")'を呼び出すという事実のために、 "エラー:関数を見つけることができませんでしたか? – Choubi

答えて

-1

このコードは次のように動作します:

しかし、複数のパッケージをロードするより効率的な方法がありますか?これをベクトル化したバージョンですか?ただ興味があるだけ。

+1

[oldie but goodie](https://gist.github.com/stevenworthington/3178163) – shayaa

関連する問題