3

我正在尝试使用 sprintf 和 sink 编写一系列字符和数值:

 sink("sample.txt", append=TRUE, split=TRUE)
 sprintf("Hello World")

当然,上面是一个例子,所以我没有上面数据框中的数值,但我需要使用 sprintf。

文本文件 (sample.txt) 中的输出如下所示:

 [1] Hello World

如何从行中删除 [1]?有没有办法让 [1] 不会写入文件?

4

1 回答 1

6

两个选项浮现在脑海中,使用cat()writeLines()

> cat(sprintf("Hello World"), "\n")
Hello World 
> writeLines(sprintf("Hello World"))
Hello World

您遇到的问题是sprintf()返回一个字符向量,并且像任何其他字符向量一样,如果您使用它,R 会像向量一样打印print它。您想要的是包含在字符向量的第一个元素中的字符串(在这种情况下是唯一的)。因此我们使用工具来写出字符串而不是打印字符向量。

file请注意,这两者都可以通过参数 (in cat()) 或con参数 (in )直接写入文件writeLines(),您可能会发现这很有用。

于 2013-07-22T22:16:24.113 回答