将函数应用于两个列表?将函数应用于两个列表?(Applying a function to two

2019-05-12 01:52发布

要查找的两个矩阵X和Y在行相关性,输出应该具有的Y X的第1行和第1行的相关值,......,因此总共十个值(由于有10行):

X <- matrix(rnorm(2000), nrow=10)
Y <- matrix(rnorm(2000), nrow=10)

sapply(1:10, function(row) cor(X[row,], Y[row,]))

现在,我应该如何应用此功能的两个列表(含各地各50个dataframes)?

考虑名单A有dataframes $ 1,$ 2,$ 3 ...等,并列出B有dataframes $ 1,$ 2,$ 3的同样数量。 因此,功能应该适用于listA$1,listB$1listA$2,listB$2 ...等列表中的其他dataframes。 最后,我将有比较1的情况下,十个值( listA$1listB$1为好),并为他人。

难道这使用“lapply”做什么?

Answer 1:

你似乎在寻找mapply 。 下面是一个例子:

listA <- list(matrix(rnorm(2000), nrow=10),
              matrix(rnorm(2000), nrow=10))
listB <- list(matrix(rnorm(2000), nrow=10),
              matrix(rnorm(2000), nrow=10))
mapply(function(X,Y) {
  sapply(1:10, function(row) cor(X[row,], Y[row,]))
  }, X=listA, Y=listB)


文章来源: Applying a function to two lists?