我正在尝试创建一个文本框来显示ggplot2
中的文本。为了使文本样式化,我希望将信息分成几行。这就是我正在尝试的:
txt1<-paste("Question: ", df$q1) ; txt2<-paste("Gender: ", df$gender)
txt3<-paste("response: ", df$rspns)
txt<-cat(paste(txt1, txt2, txt3, sep = "\n"))
当我尝试打印txt
时,它显示为NULL
,因为cat
的输出未分配给txt
。我曾尝试使用capture.output(cat(paste(txt1, txt2, txt3, sep = "\n")))
,但这将行换成列表中的其他条目。
在R中创建动态多行文本似乎不是一个简单的解决方案。或者,我是否缺少某些内容?
答案 0 :(得分:0)
这里的根本问题是cat
用于在屏幕上显示文本或输出到文本文件(或其他连接)。尝试保存cat
的输出时,例如:
out <- cat("blah")
没有任何东西返回分配给out。根据{{1}}上的帮助文件:
值:
无(不可见的“ NULL”)。
?cat
适用于将字符串连接在一起,包括换行符(在R中的命令行中显示时,由paste
表示)。
\n
虽然这看起来不应该在命令行上显示,而是全部显示在一行上,但这实际上是您想要的。实际上,您实际上可以再次使用x <- "line one"
y <- "line two"
paste(x,y,sep="\n")
#[1] "line one\nline two"
来检查格式化后的输出最终在图形上的外观:
cat