R教科书继续推广使用lapply而不是循环。这甚至对于参数的功能,如使用lapply改变参数
lapply(somelist, f, a=1, b=2)
,但很容易,如果参数根据列表元素上改变什么? 假设我somelist包括:
somelist$USA
somelist$Europe
somelist$Switzerland
加有anotherlist
与同一地区,我想用这些不断变化的参数lapply使用?例如,当f是比率计算时,这可能很有用。
lapply(somelist, f, a= somelist$USA, b=anotherlist$USA)
除了循环有效地贯穿这些区域吗?
编辑: 我的问题似乎是,我试着用以前编写的函数没有索引...
ratio <-function(a,b){
z<-(b-a)/a
return(z)
}
导致
lapply(data,ratio,names(data))
不工作。也许别人也可以从这个错误中学习。
+1我看你打我到名字的想法 – 2011-06-06 14:32:40
是啊,这似乎像是一个最直接的方法来解决这个问题。我加了一些关于vs申请的讨论,因为他也是这么要求的... – Vincent 2011-06-06 14:36:15