看来我是天生的标题党+冷饭党了[s:11]
学年论文中要进行资产和投资策略的模拟,其中会用到大量的循环,而等待过程实在太痛苦……
PS:当然我知道,R不适合显式循环,谢大的说法是如果你的程序中出现了多少多少个for那你就用错R了[s:11]嘿嘿。可是我只会R,只能屈才让她跑跑循环了……
扯远了。其实就是一个Progress Bar,早在2009年4月29号一帖中(
http://cos.name/cn/topic/15074-keyword-%BD%F8%B6%C8)就已经讨论过这东西了,我就是重炒下冷饭。
首先是当年版大bjt给出的
<br />
total <- 20<br />
# create progress bar<br />
pb <- txtProgressBar(min = 0, max = total, style = 3)<br />
for(i in 1:total)<br />
{<br />
Sys.sleep(0.3)<br />
setTxtProgressBar(pb, i)<br />
}<br />
close(pb)<br />
当然,如果你觉着字符界面不好看不够拉风,可以试试这个
<br />
n=5000<br />
pb <- winProgressBar(title = "R progress bar", label = "",min = 0, max = n)<br />
for (i in 1:n)<br />
{<br />
Sys.sleep(0.002)<br />
info <- sprintf("%d%% done", round(i/50))<br />
setWinProgressBar(pb, i, sprintf("test (%s)", info), info)<br />
<br />
}<br />
close(pb)<br />
总之,都是
?txtProgressBar
?winProgressBar
如果你还是不知足,tcltk包里还有个更漂亮的tkProgressBar ,可以自己拿示例代码看看[s:11]
让R的循环留下前进的脚印,看上去会不会更humanity一点[s:13]