0

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 でそれを行うにはどうすればよいですか?

4

2 に答える 2

2

で行う必要がある場合は、のメソッドをprint作成できますintegerprint

> print.integer <- function(x, ...) cat(x, " ") 
> for(i in 1:3) print(i)
1 2 3 > 
于 2012-09-26T01:32:33.413 に答える
1

を使用して printいるため、アトミックベクトルに対して print が機能する方法です。( の振る舞いprint.default)

あなたのオプションは、cat(あなたの例のように)使用するか、(@GSeeに感謝します)を使用messageするappendLF == FALSEことappendLF = FALSEです

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

GSee が述べているように、どうしても を使用したい場合は、data.type の print メソッドを定義する必要があります (バックグラウンドでorprintを呼び出します)。catmessage

于 2012-09-26T00:31:19.163 に答える