在 R 中不带换行符打印



如何在 R 中打印没有换行符?

> for (i in 1:3)
 +   print(i)
[1] 1
[1] 2
[1] 3

我想得到的是:1 2 3,我可以用猫做

> for( i in 1:3)
+   cat(i," ")
1  2  3  > 

我怎样才能用打印来做到这一点?

如果必须使用 print 执行此操作,则可以创建一个integer方法print

> print.integer <- function(x, ...) cat(x, " ") 
> for(i in 1:3) print(i)
1 2 3 > 

因为你使用的是print,这就是打印对原子向量的工作方式。(print.default的贝海维奥)

您的选择是使用cat(如您的示例所示)或将messageappendLF == FALSE一起使用(感谢@GSee的appendLF = FALSE

for( i in 1:3)message(i, appendLF = FALSE)

正如 GSee 所述,如果您坚持使用 print ,那么您需要为您的 data.type 定义一个打印方法(它将在后台调用catmessage或类似内容)

最新更新