すべての関数を 1 つの .R ファイルで定義し、別の .R ファイルから呼び出します。可能な場合はどうすればよいでしょうか? 質問する

すべての関数を 1 つの .R ファイルで定義し、別の .R ファイルから呼び出します。可能な場合はどうすればよいでしょうか? 質問する

abc.R ファイルで定義された関数を、別のファイル (たとえば xyz.R) で呼び出すにはどうすればよいでしょうか?

補足の質問ですが、R プロンプト/コマンド ラインから abc.R で定義された関数を呼び出すにはどうすればよいですか?

ベストアンサー1

source("abc.R")に続いてを呼び出すことができますsource("xyz.R")(これらのファイルが両方とも現在の作業ディレクトリにあると仮定します)。

abc.R の場合:

fooABC <- function(x) {
    k <- x+1
    return(k)
}

xyz.R は次のようになります。

fooXYZ <- function(x) {
    k <- fooABC(x)+1
    return(k)
}

これは機能します:

> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
> 

循環的な依存関係がある場合でも、これは機能します。

例えば、abc.R が次の場合:

fooABC <- function(x) {
    k <- barXYZ(x)+1
    return(k)
}

barABC <- function(x){
    k <- x+30
    return(k)
}

xyz.R は次のようになります:

fooXYZ <- function(x) {
    k <- fooABC(x)+1
    return(k)
}

barXYZ <- function(x){
    k <- barABC(x)+20
    return(k)
}

それから、

> source("abc.R")
> source("xyz.R")
> fooXYZ(3) 
[1] 55
>

おすすめ記事