将文本行写入R中的文件

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

Hello World 

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

 fileConn<-file("output.txt") writeLines(c("Hello","World"), fileConn) close(fileConn) 

其实你可以sink()来做:

 sink("outfile.txt") cat("hello") cat("\n") cat("world") sink() 

因此:

 file.show("outfile.txt") # hello # world 

我将使用cat()命令,如下例所示:

 > cat("Hello",file="outfile.txt",sep="\n") > cat("World",file="outfile.txt",append=TRUE) 

您可以使用R查看结果

 > file.show("outfile.txt") hello world 

什么是简单的writeLines()

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

要么

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

1。使用cat 文件参数

  cat("Hello World", file="filename") 

2.使用 sinkfunction来自打印猫的所有输出redirect到文件。

  sink("filename") # Begin writing output to file print("Hello World") sink() # Resume writing output to console 

:打印function不能redirect其输出,但接收function可以强制所有输出到文件。

3。 连接到一个文件写作

 con <- file("filename", "w") cat("Hello World", file=con) close(con) 

你可以在一个声明中做到这一点

 cat("hello","world",file="output.txt",sep="\n",append=TRUE) 

为了圆满的可能性,你可以使用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需要是string格式; 使用as.character()来转换,如果你需要。

但是,对于每次保存尝试来说,这是太多的打字。 让我们在RStudio中创build一个片段。

在全局选项>>代码>>代码段中input:

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

然后,在编码过程中, inputwfile并按Tab键

丑陋的系统选项

 ptf <- function (txtToPrint,outFile){system(paste(paste(paste("echo '",cat(txtToPrint),sep = "",collapse = NULL),"'>",sep = "",collapse = NULL),outFile))} #Prints txtToPrint to outFile in cwd. #!/bin/bash echo txtToPrint > outFile