Rには実行中のコードを含むファイルへの完全なディレクトリパスを返すコマンドがありますか?PHPの$_SERVER['SCRIPT_FILENAME']
と同様ですか?ファイルを格納するディレクトリを返す
答えて
私は3つの答えを考えることができますが、Rの実行モデルはPHPのものとは異なるため、おそらく完全に満足できるものはありません。 a)R実行可能ファイルの場所、b)ファイルを保存するためのデフォルトディレクトリの場所、c)明白な場所が指定されていない場合、Rがインストールされたパッケージを検索する場所
R.home()
#[1] "/Library/Frameworks/R.framework/Resources"
getwd()
#[1] "/Users/davidwinsemius"
.libPaths()
#[1] "/Users/davidwinsemius/Library/R/2.14/library"
#[2] "/Library/Frameworks/R.framework/Versions/2.14/Resources/library"
私はあなたが実際に望むかもしれない第四の選択肢を考えました。 CMD呼び出しでRのバッチセッションを開始した場合は、そのコマンドの最初の行でargsをリカバリできます(コールの仕方やOSに応じて):
cmdargs <- commandArgs(TRUE)
cmdargs["infile"]
最も簡単な方法は、chdir=TRUE
引数を使用してスクリプトを実行するようにsource
を呼び出すことです。その後、スクリプトはgetwd()
を呼び出すだけです。しかし、これは正しいことをするスクリプトの呼び出し側に依存します。
もう1つの方法は、各機能が通常、送信元情報を保存する(無効にすることができる)ことを認識することです。したがって、スクリプトで関数を定義すると、関数インスタンスからファイル名を抽出できます。
"C:/foo.R" に次のように入れてください:それを試してみてくださいそして、...
whereAmI <- function() attr(attr(whereAmI, 'srcref'), 'srcfile')$filename
fileName <- whereAmI()
cat("Here I am:", fileName, "\n")
cat("In folder:", dirname(fileName), "\n")
:
> source("c:/foo.R")
Here I am: c:/foo.R
In folder: c:/
それは、バイトコンパイルされた最後の関数のランダムに生成された場所ですか? –
私にとっては(R 2.14.0)ではなく、 'compiler :: enableJIT(4)'を呼んでも意味がありません。あなたは奇妙な結果を得ますか? – Tommy
私は "私はここにいます:/ var/folders/xS/xSUsVXTIHEiP7OLJg2OXmU +++ TI/-Tmp - // RtmpqeJtDX/file1f9196a0"です。そして、それはwhereAmIへの呼び出しを全く伴わなかったので、最後に定義された関数の場所であると仮定しました。 –
source
コマンド(将来のバージョンのRで変更される可能性があります)の内部に依存するため、これは少し壊れやすいものですが、ソースファイルのこの行はそれを実行する必要があります。これは、ソースファイル内のトップレベルに直接存在し、ソースファイル内の関数ではありません。
this.dir <- dirname(sys.frame(1)$ofile)
- 1. androidにdbファイルを格納する
- 2. デフォルトプロジェクトの選択を格納するファイル
- 3. ファイルを格納するデータ型
- 4. テキストファイルをDirに格納し、ファイル名をリストに格納するpython
- 5. iPhoneアプリケーションのDocumentsディレクトリに格納されたXMLファイルの解析
- 6. ファイルをデータベースに格納する方が良いか、ファイルのパスに格納する方が良いですか?
- 7. 外部ファイルとディレクトリ構造にjqueryコードを格納していますか?
- 8. 鍵を格納するときにロック状態を返すRiak
- 9. ファイルのメタデータを格納するためにMysqlにデータを格納するロジックを書く
- 10. データを格納するフレームワーク
- 11. ネットワークデータパケットを格納する
- 12. プライベートデータを格納するセキュリティリスク
- 13. ブール値を格納する
- 14. 情報を格納する
- 15. 大きなファイルをSQLサーバーに格納
- 16. ファイル出力を変数に格納
- 17. csvファイルとデータベースにユーザーデータを格納
- 18. Python変数をxmlファイルに格納
- 19. c#データをExcelファイルに格納
- 20. パラメータすべての変数を格納するファイル
- 21. ファイル共有サイトのファイル格納形式
- 22. ファイルを扱う配列にデータを格納する
- 23. ファイルを使用してオプティマイズの引数を格納する
- 24. FileInputStreamで使用されるファイルを格納する場所
- 25. LinkedListに格納した後にint []を返します
- 26. ディレクトリ内のファイル名のリストを取得し、cmdコマンドを使用して変数に格納する方法
- 27. ディレクトリ内のすべてのファイルを読み込み、オブジェクトに格納してオブジェクトを送信します。
- 28. 単語やpdfファイルを格納する上のリンク&java
- 29. 特定の構成を格納するファイル形式
- 30. MIPS:整数データをファイルから配列に格納する
コードをどのように実行していますか? –
おそらく 'getwd()'はあなたが探しているものですか?しかし、ジョシュアは答えてくれました! – Justin
@JoshuaUlrich - 私は[RStudio](http://rstudio.org/)を使用しています。 – eykanal