我正在尝试使用sprintf和sink编写一系列字符和数值:
sink("sample.txt", append=TRUE, split=TRUE)
sprintf("Hello World")
当然,上面是一个例子,所以我没有上面数据框的数值,但我需要使用sprintf。
文本文件(sample.txt)中的输出如下所示:
[1] Hello World
如何从线上删除[1]?有没有办法使[1]不会写入文件?
答案 0 :(得分:6)
使用cat()
或writeLines()
> cat(sprintf("Hello World"), "\n")
Hello World
> writeLines(sprintf("Hello World"))
Hello World
你遇到的问题是sprintf()
返回一个字符向量,就像任何其他字符向量一样,如果你print
,它会像向量一样打印它。你想要的是字符向量的第一个元素包含的字符串(在这种情况下唯一的一个)。因此,我们使用工具写出字符串而不打印字符向量。
请注意,这些都可以通过file
参数(cat()
)或con
参数(writeLines()
)直接写入文件,您可以找到是有用的。