R 在mapply中显示迭代计数

R 在mapply中显示迭代计数,r,mapply,R,Mapply,我正在使用mapply(函数,args)处理一个大数据集。在100次迭代之后,我需要设置1秒的延迟。所以问题是,是否可以在mapply(函数,args)中显示迭代计数或进度条 谢谢否,但是如果您从plyr切换到使用相应的函数,您可以在函数调用中添加进度条 如果您不给我们提供一个最小的、可重复的示例,我不会努力找到确切的plyr等效物,但它将是m*ply函数之一: > ls(pos=2,pattern="m.*ply") [1] "maply" "mdply" "mlply" "m_ply"

我正在使用mapply(函数,args)处理一个大数据集。在100次迭代之后,我需要设置1秒的延迟。所以问题是,是否可以在mapply(函数,args)中显示迭代计数或进度条
谢谢

否,但是如果您从
plyr
切换到使用相应的函数,您可以在函数调用中添加进度条

如果您不给我们提供一个最小的、可重复的示例,我不会努力找到确切的
plyr
等效物,但它将是
m*ply
函数之一:

> ls(pos=2,pattern="m.*ply")
[1] "maply" "mdply" "mlply" "m_ply"

如果您事先知道迭代的总数,您可以将另一个参数作为迭代计数器添加到
mapply
。在这个例子中,我添加了
z
。此示例使命令行每3次迭代休眠1秒

mapply( function(x,y,z) { if(z%%3==0){Sys.sleep(1);
    cat(paste0( "Interation " , z , " ...sleeping\n") ) }
    x*y } ,x=1:10,y=1:10,z=1:10)
#Interation 3 ...sleeping
#Interation 6 ...sleeping
#Interation 9 ...sleeping
# [1]   1   4   9  16  25  36  49  64  81 100
如果需要更具说服力的语句,请将其包装在
system.time()
中。我得到了3.002秒的运行时间