0

スクリプトで定義された文字列などのいくつかの変数の値を、ソース化されている別のスクリプトに渡して、後者がそれらを宣言せずに使用できるようにする方法は R にありますか? 例えば:

some R code
...
...
var1 <- "some string"
var2 <- "some param"

source("header.r")

には、var1 と var2 の文字列の名前を持つスロットがありますheader.rlist()

tabl <- alldata.list[["some string"]][["some param"]] 

元のスクリプトを実行してヘッダーを呼び出すと、tabl適切にアドレス指定されますか?

また、渡すことができる要素の数と型に制限はありますか?

4

1 に答える 1

3

を使用sourceしてファイルをロードすると.R、そのスクリプトの行が順次実行され、そのスクリプトのすべてが実行中の R セッションにマージされます。その時点から、すべての変数と関数を使用できます。

ソースファイル間の通信に変数を使用しないことをお勧めしますが、コードをより読みやすく、保守しやすく、デバッグしやすくするために。代わりに、関数を使用します。実際には、これはヘルパー関数 (パッケージ ライトのようなもの) を含む 1 つまたは複数のファイルがあることを意味します。これらのヘルパー関数は、メイン スクリプトで必要な機能の一部を抽象化し、スクリプトをより短く、より的確なものにします。目標は、画面をほぼ埋めるメイン スクリプトを作成することです。このようにして、スクリプトの主なアイデアを簡単に把握でき、詳細はヘルパー関数で見つけることができます。

関数を使用すると、メイン スクリプトが自己完結型になり、他のソース ファイルの実行可能コードで何が起こるかに依存しなくなります。これにより、基本的に 40 ~ 50 行のコードを読むだけでスクリプトが正確に何を行っているかを判断するために、自分や他の人が推論する必要が少なくなります。

于 2013-05-20T19:00:51.753 に答える