4

我想将多行字符串分配给 R 中的变量,以便以后可以调用该变量。当我尝试时,paste("line 1", "line 2", sep = "\n")我得到"line 1\nline 2". 当我尝试时cat("line 1", "line 2", sep = "\n"),我得到了所需的输出,但这是输出不是持久的(cat()返回类型的对象None)。我尝试使用多行字符串的原因是我需要通过sendmailR消息正文(而不是附件)中的 SMTP 服务器(和包)发送查询结果。

4

1 回答 1

11

paste("line 1", "line 2", sep = "\n")是正确的方法,你得到你想要的:

> a = paste("line 1", "line 2", sep = "\n")
> cat(a)
line 1
line 2> 

您的困惑可能来自print转义输出的事实,因此它以解析器预期的方式打印字符串:

> print(a)
[1] "line 1\nline 2"

注意字符串周围的引号。cat按原样打印输出。在这两种情况下,对象都是相同的,只是输出格式不同。

显然,您可以直接创建字符串而无需paste

> a = "line1\nline2"
> cat(a)
line1
line2> 
于 2012-01-31T01:54:23.140 回答