2016-09-10 4 views
1

Rスクリプトからテキストファイルをエクスポートするにはどうすればいいですか?私は結果に関係なく印刷されるテキストをプリセットしたいが、テキストファイルで変更可能な変数も追加したい。私がこれを行う方法を知っている唯一の方法は、sinkcatを使用することです。問題は、それぞれの独立した行にcatを作成する必要があることです。各行にcatを使用せずに大きな段落を書く方法がありますか?異なる変数の結果を出力するためにRでテキストファイルを作成するには?

x = 1:10 
sink("~/Desktop/TEST.txt", type=c("output", "message"), append = FALSE) 
"=============================================================== \n 
NEW MODEL 
=============================================================== 
Summary of the model:" 
x 
# model.summary$BUGSoutput$sims.list 
sink(NULL) 

出力は次のようになります。

[1] "=============================================================== \n\nNEW MODEL \n=============================================================== \nSummary of the model:" 
[1] 1 2 3 4 5 6 7 8 9 10 

しかし、私はこのような何か持っていることを好むだろう:あなたはこれを書くことができます(ただし、書き込みをしない方法がある

=============================================================== 
NEW MODEL 
=============================================================== 

Summary of the model: 
1 2 3 4 5 6 7 8 9 10 

をそれぞれの猫は?):

x = 1:10 
sink("~/Desktop/TEST.txt", type=c("output", "message"), append = FALSE) 
cat("===============================================================\n") 
cat("NEW MODEL\n") 
cat("===============================================================\n") 
cat("Summary of the model:\n") 
x 
cat("# model.summary$BUGSoutput$sims.list\n") 
sink(NULL) 
=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model: 
[1] 1 2 3 4 5 6 7 8 9 10 
# model.summary$BUGSoutput$sims.list 

をしかし興味深いことに、これが動作していません:3210これを取得するには

yo <- function(x) { 
    sink("~/Desktop/potato.txt", type="output") 
    writeLines("=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model:") 
x 
# other stuff 
    sink() 

} 

yo(1:10) 

出力:

=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model: 
+0

をあなたは基本的にプレーンテキスト –

答えて

1

使用?writeLinesを。考えてみましょう:

sink(<file name>, type="output") 
writeLines("=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model:") 
summary(model) 
# other stuff 
sink() 
+0

で終わる必要があり、それらの中で手の込んだ機能を使用しない場合は... AsciiDocや値下げの出力を言うとknitRを使用してに見たいと思うかもしれませんですか作る方法それは関数の中で動作しますか? –

+0

それは別の質問のようです、@ M.Beausoleil。私は本当にあなたが何を意味するかは分かりません。あなたは、あなたが念頭に置いている状況を説明するために再現可能な例が必要です。 – gung

+1

私は分かりません。関数内のシンク内で 'print(x)'を使うとうまくいくようです。しかし、シンクが機能していないとき、あなたはそれを必要としていないようです。 – gung

関連する問題