1. ホーム
  2. file

[解決済み] Rですべてのコンソール出力をファイルに保存するには?

2023-01-29 08:46:37

質問

リダイレクトしたい 全て コンソールテキストをファイルにリダイレクトしたい。以下は私が試したことです。

> sink("test.log", type=c("output", "message"))
> a <- "a"
> a
> How come I do not see this in log
Error: unexpected symbol in "How come"

以下は、test.logに表示された内容です。

[1] "a"

以下はtest.logに書きたい内容です。

> a <- "a"
> a
[1] "a"
> How come I do not see this in log
Error: unexpected symbol in "How come"

私は何を間違えているのでしょうか?ありがとうございます。

どのように解決するのですか?

出力とメッセージは別々にシンクする必要があります( sink 関数は 最初の 要素のうち type )

ここで、もし 入力 もログに記録したい場合は、スクリプトに記述してください。

スクリプト.R

1:5 + 1:3   # prints and gives a warning
stop("foo") # an error

そしてプロンプトで

con <- file("test.log")
sink(con, append=TRUE)
sink(con, append=TRUE, type="message")

# This will echo all input and not truncate 150+ character lines...
source("script.R", echo=TRUE, max.deparse.length=10000)

# Restore output to console
sink() 
sink(type="message")

# And look at the log...
cat(readLines("test.log"), sep="\n")