mapply和两个列表

时间:2013-01-15 00:27:37

标签: r list apply

我正在尝试使用mapply来组合两个列表(A和B)。每个元素都是一个数据帧。 我正在尝试将A中的数据帧重新绑定到B中的相应数据帧。以下内容返回我在combo1中想要的内容:

num = 10
A<-list()
B<-list()
for (j in 1:num){
    A[[j]] <- as.data.frame(matrix(seq(1:9),3,3))
    B[[j]] <- as.data.frame(matrix(seq(10:18),3,3))
}

combo1<-list()
for (i in 1:num){
    combo1[[i]] <-rbind(A[[i]], B[[i]])  
}

我正在尝试使用mapply来做同样的事情,但我无法让它工作:

combo2<-list()
combo2<-mapply("rbind", A, B)

我希望有人可以帮助我

1 个答案:

答案 0 :(得分:9)

你非常接近!

## Make this a more _minimal_ reproducible example
A <- A[1:2]
B <- B[1:2]

## Override default attempt to reduce results to a vector, matrix, or other array
mapply("rbind", A, B, SIMPLIFY=FALSE)
# [[1]]
#   V1 V2 V3
# 1  1  4  7
# 2  2  5  8
# 3  3  6  9
# 4  1  4  7
# 5  2  5  8
# 6  3  6  9
# 
# [[2]]
#   V1 V2 V3
# 1  1  4  7
# 2  2  5  8
# 3  3  6  9
# 4  1  4  7
# 5  2  5  8
# 6  3  6  9