如何在 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
(如您的示例所示)或将message
与appendLF == FALSE
一起使用(感谢@GSee的appendLF = FALSE
)
for( i in 1:3)message(i, appendLF = FALSE)
正如 GSee 所述,如果您坚持使用 print
,那么您需要为您的 data.type 定义一个打印方法(它将在后台调用cat
或message
或类似内容)