r - 표시 - 두 목록에 함수를 적용합니까?



매트랩 데이터 그래프 (1)

두 행렬 X와 Y의 행간 상관을 찾으려면 출력에는 X의 행 1과 Y의 행 1에 대한 상관 값이 있어야합니다 (열 10 개가 있으므로 총 10 개의 값으로 표시).

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

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

이제이 함수를 두 목록 (각각 약 50 개의 데이터 프레임 포함 )에 어떻게 적용 해야 합니까?

목록 A에는 $ 1, $ 2, $ 3 ... 등의 데이터 프레임이 있고 목록 B에는 $ 1, $ 2, $ 3 비슷한 데이터 프레임 수가 있습니다. 따라서 listA$1,listB$1 , listA$2,listB$2 ... 등등의 listA$2,listB$2 가 목록의 다른 데이터 프레임에 적용되어야합니다. 결국 비교 1 ( listA$1listB$1 )의 경우와 다른 경우에 listA$1 10 개의 값을 갖게됩니다.

이것은 "lapply"를 사용하여 수행 할 수 있습니까?


넌 진부한 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)




mapply