回答:
fileConn<-file("output.txt")
writeLines(c("Hello","World"), fileConn)
close(fileConn)
writeLines()
の組み合わせよりも約10倍高速ですsink()
cat()
単純なものは何writeLines()
ですか?
txt <- "Hallo\nWorld"
writeLines(txt, "outfile.txt")
または
txt <- c("Hallo", "World")
writeLines(txt, "outfile.txt")
"Hallo\nWorld"
は、文字タイプの長さ1のベクトルです。試してみてくださいtxt <- "Hallo\nWorld"; is.character(txt) && length(txt) == 1 && is.vector(txt)
writeLines(txt, con="outfile.txt")
ます。
> coefficients<-summary(model) > writeLines(coefficients, "coefficients") Error in writeLines(coefficients, "coefficients") : invalid 'text' argument
私は提案します:
writeLines(c("Hello","World"), "output.txt")
現在受け入れられている回答よりも短く、より直接的です。以下を行う必要はありません。
fileConn<-file("output.txt")
# writeLines command using fileConn connection
close(fileConn)
のドキュメントはwriteLines()
言うので:
場合は
con
、文字列で、関数が呼び出されますfile
、関数呼び出しの期間のために開かれているファイルの接続を取得します。
# default settings for writeLines(): sep = "\n", useBytes = FALSE
# so: sep = "" would join all together e.g.
tidyverseエディション、パイプおよびwrite_lines()
リーダーから
library(tidyverse)
c('Hello', 'World') %>% write_lines( "output.txt")
Rのファイルにテキスト行を書き込む短い方法は、すでに多くの回答で示されているように、catまたはwriteLinesで実現できます。最短の可能性は次のとおりです。
cat("Hello\nWorld", file="output.txt")
writeLines("Hello\nWorld", "output.txt")
「\ n」が気に入らない場合は、次のスタイルを使用することもできます。
cat("Hello
World", file="output.txt")
writeLines("Hello
World", "output.txt")
一方でwriteLines追加改行をするケースではありませんどのようなファイルの末尾に猫。この動作は、次の方法で調整できます。
writeLines("Hello\nWorld", "output.txt", sep="") #No newline at end of file
cat("Hello\nWorld\n", file="output.txt") #Newline at end of file
cat("Hello\nWorld", file="output.txt", sep="\n") #Newline at end of file
しかし、主な違いは、ある猫が使用するRオブジェクトとwriteLines 文字ベクトルを引数として。したがって、たとえば1:10を書き出す場合は、猫でそのまま使用できるように、writeLinesにキャストする必要があります。
cat(1:10)
writeLines(as.character(1:10))
可能性を締めくくりするには、使用することができますwriteLines()
しsink()
、あなたがしたい場合は、:
> sink("tempsink", type="output")
> writeLines("Hello\nWorld")
> sink()
> file.show("tempsink", delete.file=TRUE)
Hello
World
私にとっては、を使用するのprint()
が常に最も直感的に思えますが、そのようにすると、出力が希望どおりにならない場合があります。
...
> print("Hello\nWorld")
...
[1] "Hello\nWorld"
ベストアンサーに基づいて:
file <- file("test.txt")
writeLines(yourObject, file)
close(file)
yourObject
は文字列形式である必要があることに注意してください。as.character()
必要に応じて変換に使用します。
しかし、これはすべての保存試行に対して入力が多すぎます。RStudioでスニペットを作成しましょう。
グローバルオプション>>コード>>スニペットで、次のように入力します。
snippet wfile
file <- file(${1:filename})
writeLines(${2:yourObject}, file)
close(file)
次に、コーディング中にを入力してwfile
を押しTabます。
file <- file(...)
ラインは、私には疑わしいです。file
関数として呼び出すこととfile
、新しい意味を割り当てることの両方ではないですか?file()
このコードを実行した後でも機能しますか?今すぐ自分をテストするためのRインストールに
シンプルはwrite.table()
どうですか?
text = c("Hello", "World")
write.table(text, file = "output.txt", col.names = F, row.names = F, quote = F)
パラメータcol.names = FALSE
およびrow.names = FALSE
TXTに行と列の名前を除外することを確認し、パラメータquote = FALSE
を除外TXTの各行の最初と最後に、これらの引用符。データを読み戻すには、を使用できますtext = readLines("output.txt")
。
Rの新しいバージョンでwriteLines
は、テキストの改行とスペースが保持されるため\n
、行末に含める必要はなく、1つの大きなテキストのチャンクをファイルに書き込むことができます。これは例で動作します、
txt <- "Hello
World"
fileConn<-file("output.txt")
writeLines(txt, fileConn)
close(fileConn)
ただし、この設定を使用して、構造(改行またはインデント)のテキストを単純に含めることもできます。
txt <- "Hello
world
I can
indent text!"
fileConn<-file("output.txt")
writeLines(txt, fileConn)
close(fileConn)