首页 文章

在 R 中逐行打印文本向量

提问于
浏览
0

我不小心有一个由函数 capture.output 制成的对象,可以逐行打印 e.g .:

> print(xxx)
[1] "==============================================================================="
[2] "Initial design evaluation"                                                      
[3] ""                                                                               
[4] "Initial OFV = 28.9197"                                                          
[5] ""                                                                               
[6] "Initial design expected parameter "

但是,当我尝试复制相似的字符串矢量时,所有矢量元素都打印在同一行上。 e.g .:

> a  <- c('a','b','c','d','e')
> print(a)
[1] "a" "b" "c" "d" "e"

我发现它们之间没有任何区别:

> length(a)
[1] 5
> length(xxx)
[1] 5
> > class(xxx)
[1] "character"
> class(a)
[1] "character"
> > typeof(xxx)
[1] "character"
> typeof(a)
[1] "character"

我想知道是什么导致印刷品中与众不同的行为。

1 回答

  • 0

    我相信这与控制台中可用的水平空间有关。在我的机器中,至少每当要打印的两个矢量元素足够宽而又无法将它们中的两个都排成一排时,矢量中的所有元素都会在每行上打印一个。我相信这就是等长的第一长串在您的xxx向量中所做的。我可以编写用于检查的代码,但这完全取决于控制台的宽度,因此我认为它对其他人没有用。

相关问题