【发布时间】:2019-02-08 16:39:49
【问题描述】:
我对嵌套循环进行了计算,然后我尝试将其转换为 lapply 但它没有显示相同的结果,你知道这是为什么吗?这是我的代码:
#list
l <- list()
l[[1]] <- matrix(c(4, 3, 20, 10), ncol=2)
l[[2]] <- matrix(c(3, 3, 40, 12), ncol=2)
l[[3]] <- matrix(c(2, 3, 60, 10), ncol=2)
#loop
##index
s <- 1:length(l)
#for loop
zzz <- list()
for (i in s){
zzz[[i]] <- apply(X = l[[i]], MARGIN = 1,
FUN = function(x) spDistsN1(l[[i]], x, longlat = T))
zzz
}
#lapply loop
yyy <- lapply(s, function(x){
apply(X = l[[i]], MARGIN = 1,
FUN = function(x) spDistsN1(l[[i]], x, longlat = T))
})
而且它们的输出不一样,为什么?
identical(zzz,yyy)
[1] FALSE
【问题讨论】:
标签: r for-loop nested apply lapply