12

私は次のように bashデータをパイプするために使用しています:Rscript cat random.csv | Rscript test.R arg >| delete.csv

私の目的は、Rパッケージを使用しreadrて標準入力の読み取りと標準出力の書き込みの両方を行うことです。ここで標準入力への答えを見つけました。

test.R

#!/usr/bin/Rscript
suppressMessages(library(readr))

args  <- commandArgs(trailingOnly = TRUE)

df.in <- read_csv(file("stdin"))

write_csv(df.in, path = stdout())

上記のコードは、コマンド ラインで次のエラー メッセージを生成します。

エラーメッセージ

Error in path.expand(path) : invalid 'path' argument
Calls: write_csv -> write_delim -> normalizePath -> path.expand
Execution halted

私も同じエラーメッセージをwrite_csv(df.in, file("stdout"))試してみました。write_csv(df.in, stdout())

再現性のために、ここにへのリンクがありますrandom.csv

世界結核報告のためのWHOによる変数の定義[43kb]

4

4 に答える 4

23

にはそのformat_csvための関数がありreadrます。の代わりにこれを使用しますwrite_csv

cat(format_csv(df.in))
于 2016-03-01T12:26:00.437 に答える