有一点精神障碍。我确信我找到了一个函数来在for
循环中打印迭代数字,该循环不是print
而不是cat
,但是它给出了与下面的cat相同的输出。
> for(i in 10^(1:5)) print(i)
[1] 10
[1] 100
[1] 1000
[1] 10000
[1] 1e+05
> for(i in 10^(1:5)) cat(i, "\n")
10
100
1000
10000
1e+05
我在打印和cat的R帮助文件中看不到任何对它的引用。尝试谷歌搜索,但没有到达任何地方。
答案 0 :(得分:9)
在cat
:
catn <- function(x, append="\n"){cat(x); cat(append)}
使用它:
for(i in 10^(1:5)) catn(i)
10
100
1000
10000
1e+05
或者你可以使用message
(这有一个额外的好处,在某些代码编辑器中,例如Eclipse,消息以不同的颜色显示):
for(i in 10^(1:5)) message(i)
10
100
1000
10000
1e+05
答案 1 :(得分:3)
如果write
:
file == ""
也可以写入标准输出
> for (i in 10^(1:5)) write(i, "")
10
100
1000
10000
1e+05
file
的默认值为"data"
。
(我也在寻找这个缺失的运营商很长一段时间:D)