在R中不使用换行符打印

在R中不使用换行符打印,r,printing,R,Printing,如何在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,这就是原子向量的打印方式。(打印的行为。默认值) 您可以选择使用cat(如您的示例中所示)或将消息与appendLF==FALSE(感谢@GSee提供appendLF

如何在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
,这就是原子向量的打印方式。(打印的行为。默认值)

您可以选择使用
cat
(如您的示例中所示)或将
消息
appendLF==FALSE
(感谢@GSee提供
appendLF=FALSE


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

,因为您使用的是
print
,这就是原子向量的打印方式。(打印的行为。默认值)

您可以选择使用
cat
(如您的示例中所示)或将
消息
appendLF==FALSE
(感谢@GSee提供
appendLF=FALSE


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

如果您必须使用
print
,您可以为
print
创建一个
integer
方法

> print.integer <- function(x, ...) cat(x, " ") 
> for(i in 1:3) print(i)
1 2 3 > 
>print.integer用于(1:3中的i)打印(i)
1 2 3 > 

如果必须使用
打印
,则可以为
打印
创建一个
整数
方法

> print.integer <- function(x, ...) cat(x, " ") 
> for(i in 1:3) print(i)
1 2 3 > 
>print.integer用于(1:3中的i)打印(i)
1 2 3 > 

您能解释一下为什么要这样做吗?例如,
cat
是否不处理要打印的数据类型?能否解释一下为什么要这样做?例如,
cat
是否不处理要打印的数据类型?
?cat
表示没有
linefeed
表示同一行上的“123”,而不是不同的行上。但是,对于(1:3中的i)消息(i,appendLF=FALSE)Oops,您已经接近
消息了。误解了这个问题(我以为OP不想要
[1]、[2]等
。感谢你的提醒
?cat
表示没有
换行
意味着“123”在同一行,而不是在不同的行。但是,你接近
消息--
对于(I in 1:3)消息(I,appendLF=FALSE)
Oops.误解了这个问题(我以为OP不想要
[1]、[2]等
。谢谢你的提醒