如何简化for循环中的函数

时间:2014-10-24 11:22:50

标签: r

我有一个包含以下内容的for循环:

for (i in 1:100) {

  #calculate correlation
  correlationList1a[[i]] <- sapply(seq(1,14), 
                    function(x) cor(validationSetsA.list[[i]][,x], medianListA[[i]]))
  correlationList2a[[i]] <- sapply(seq(1,14), 
                    function(x) cor(validationSetsA.list[[i]][,x], medianListB[[i]]))

}

我该如何简化? correlationList1acorrelationList2a基本上做同样的事情,唯一不同的是correlation1a包含medianListAcorrelationList2a包含medianListB

1 个答案:

答案 0 :(得分:1)

看起来这是mapply的情况。

mapply(function(x, y) apply(x[,seq(1,14)], 2, cor, y=y), 
       x = validationSetsA.list, 
       y = medianListA, 
       SIMPLIFY = FALSE)