R函数计数元素

时间:2016-03-14 04:58:19

标签: r

我想打印通过函数的列表的元素编号。例如,如果列表中有10个元素,我想要一个计数器,当函数通过每个元素时,它将从0到10。

a = length(url)
    func0 = function(url){
      a  = a-1
print(a)
    }
    cc = lapply(url, func0)

然而,这不起作用。请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:2)

您的函数更改变量a的内部副本,并打印9次10次。要将此行为更改为所需,您应该将赋值运算符=(顺便说一句,为什么不<-?等号通常用于函数&#39;参数的定义)到全局赋值运算符{{1 }}

<<-

它可以工作,但通常的建议是避免代码中的全局赋值运算符。

作为替代方案,我可以建议检查包func0 = function(url){ a <<- a-1 print(a) } ,这会为pbapply函数添加进度条。

*apply

require(pbapply) pblapply(url, func1) 代表您要应用于列表中每个元素的函数。