0
私はdata.table::fread
を使用して、シェルスクリプトからの入力を読んでいます。読みやすさのために、私は複数の行に行継続文字 '\'を使ってスクリプトを分割したいと思います。R/data.table:freadを使ったマルチラインスクリプトを読む
しかし、fread
は、複数行のシェルスクリプトが好きではないようです。
例:
library(data.table)
fread("cat test1.txt test2.txt") ## OK
今2行に分割するスクリプト:
fread("cat test1.txt \
test2.txt")
Error in fread("cat test.txt \n test.txt") :
Expected sep (' ') but new line, EOF (or other non printing character) ends field 0 when detecting types ( first): test.txt
## Same problem
fread("cat test.txt \\
test.txt")
は、任意のエスケープシーケンスはありますか私は欠けている切り替えますか?
もしそうでなければ、私は次のような解決策が考えられます。1)スクリプトを分割しない2)スクリプトをファイルに書き出し、freadでそのファイルを呼び出します。
これらは私の設定です:paste
内に埋め込む
sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.7 (Final)
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 LC_PAPER=en_GB.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.10.4
loaded via a namespace (and not attached):
[1] tools_3.2.3 chron_2.3-46 tcltk_3.2.3
を改行を含むことによって、あなたの入力がCSVであると信じて 'fread'をトリガしていますコマンドラインスクリプトではありません。 'fread(paste0( 'cat test.txt'、 'test.txt'))' – MichaelChirico
@MichaelChiricoは価値があるように、空白で保存しようとしている場合は、コマンドラインではなくRそのものを使用します。あなたのコメントを回答として追加するには? – dww