12

次のような相対パスを使用するパッケージ用の関数をいくつか作成しました。

"./data/foobar.rds"

関数の例を次に示します。

foo <- function(x) { 
x <- readRDS("./data/bar.rds")
return(x)
}

パッケージの開発パスで作業している場合、これは期待どおりに機能します。しかし、パッケージをロードすると、このパスはパッケージの相対パスではなく現在の作業ディレクトリを使用します。

パッケージ内の関数のパスがパッケージ内の相対パスを維持するように設定するにはどうすればよいですか?

4

1 に答える 1

4

Andrie が指摘しているようsystem.fileに、「パッケージ内のファイルの完全なファイル名を検索する」などを使用できます。

x <- readRDS(system.file("help", "aliases.rds", package="MASS"))
于 2012-08-15T21:25:16.053 に答える