在R脚本语言中,如何编写行文本,例如,下面两行

Hello
World

到一个名为output.txt的文件?


当前回答

在R的新版本中,writeLines将保留文本中的返回值和空格,因此您不需要在行末包含\n,并且可以将一大块文本写入文件。这个例子也适用,

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)

其他回答

在R的新版本中,writeLines将保留文本中的返回值和空格,因此您不需要在行末包含\n,并且可以将一大块文本写入文件。这个例子也适用,

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)

一个简单的writeLines()是什么?

txt <- "Hallo\nWorld"
writeLines(txt, "outfile.txt")

or

txt <- c("Hallo", "World")
writeLines(txt, "outfile.txt")

根据最佳答案:

file <- file("test.txt")
writeLines(yourObject, file)
close(file)

注意,youobject需要是字符串格式;如果需要,使用as.character()进行转换。

但是对于每次保存尝试来说,输入太多了。让我们在RStudio中创建一个代码片段。

在Global Options >> Code >> Snippet中,键入以下内容:

snippet wfile
    file <- file(${1:filename})
    writeLines(${2:yourObject}, file)
    close(file)

然后,在编码过程中,输入wfile并按Tab键。

Tidyverse版本与管道和write_lines()从阅读器

library(tidyverse)
c('Hello', 'World') %>% write_lines( "output.txt")

我建议:

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.