将文本行写入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.使用 sink
function将来自打印和猫的所有输出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