如何在 R 中打印没有换行符?
> for (i in 1:3)
+ print(i)
[1] 1
[1] 2
[1] 3
我想得到的是:1 2 3,我可以用 cat
> for( i in 1:3)
+ cat(i," ")
1 2 3 >
我怎么能用 print 做到这一点?
如果你必须这样做print
,你可以创建一个integer
方法print
> print.integer <- function(x, ...) cat(x, " ")
> for(i in 1:3) print(i)
1 2 3 >
因为您正在使用 print
, 这就是 print 对原子向量的工作方式。(的行为print.default
)
您的选择是使用cat
(如您的示例)或使用message
(appendLF == FALSE
感谢@GSee for the appendLF = FALSE
)
for( i in 1:3)message(i, appendLF = FALSE)
正如 GSee 所说,如果您坚持使用print
,那么您需要为您的 data.type 定义一个打印方法(它将在后台调用cat
或message
类似)