Rスタジオを使用しています。
R スクリプトがコンソールの source コマンドによって直接実行されているか、別のスクリプト内で実行されているかを知る方法はありますか。すなわち。別のスクリプトが供給され、これには最初のスクリプトへの呼び出しがあります。
これは、場合によってはいくつかの値を要求するのに役立ちます。
私が今行っていることは、変数を true または false に設定し、スクリプト内でその変数をチェックすることです。これは機能しますが、自動の方法の方が優れています。
御時間ありがとうございます。
編集:詳細
そのままで正常に実行される独立したスクリプトがあるとしますが、このスクリプトは、別のスクリプトが終了した後に実行するプロセスの一部です。両方を実行する必要がある場合は、最初に実行してから 2 番目を実行できます。2番目に走るチャンスもあります。
私が求めているのは、(2 番目のスクリプトで) この 2 番目が最初から呼び出されたかどうかを確認する方法があるかどうかです。
彼の簡単な例を見てみましょう ( Greg Snowからの回答に触発されました)。最初にRstudioで呼び出すファイル
# scripta.R
writeLines("script A")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
source("scriptb.r")
writelines("after B")
次に、ソースされるファイル
# scriptb.R
writeLines("script B")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
writeLines("end B")
Rstudioでの結果は
script A
interactive: true
script B
interactive: true
end B
after B
私は次のようなものを持っているのが好きです
script A
interactive: true
script B
interactive: false
end B
after B
私は今、より明確であることを願っています。
ありがとう