Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一个列表中的每个元素添加到R中另一个列表的对应元素中_R_List_Element_Add - Fatal编程技术网

将一个列表中的每个元素添加到R中另一个列表的对应元素中

将一个列表中的每个元素添加到R中另一个列表的对应元素中,r,list,element,add,R,List,Element,Add,我有两个列表,长度相同,我想将第二个列表的第一个元素添加到第一个列表的第一个元素,依此类推。 以下是我的例子: 模拟数据是 m1<- matrix(c(2,3,4,5), nrow = 2, ncol = 2) m2<- matrix(c(1,2 ,3,4,5,6), nrow = 2, ncol = 3) m3<- matrix(c(1,10,6,8 ,3,4,5,6), nrow = 4, ncol = 2) m4<-matrix(c(2,5,9,11), nrow

我有两个列表,长度相同,我想将第二个列表的第一个元素添加到第一个列表的第一个元素,依此类推。 以下是我的例子: 模拟数据是

m1<- matrix(c(2,3,4,5), nrow = 2, ncol = 2)
m2<- matrix(c(1,2 ,3,4,5,6), nrow = 2, ncol = 3)
m3<- matrix(c(1,10,6,8 ,3,4,5,6), nrow = 4, ncol = 2)
 m4<-matrix(c(2,5,9,11), nrow = 2,ncol = 2)
 list1 <- list(list(x= c(m1,m4, m3), y=c(m1,m2,m3), z=c(m1,m2,m4)),list(x= c(m4,m2, m3), y=c(m1,m2,m4), z=c(m2,m2,m3)),list(x= c(m1,m2, m3), y=c(m1,m2,m3), z=c(m1,m2,m3)))
list2<- list(list(f=m4),list( g=m4),list( h=m2))
实现我想要的代码 我的问题是如何使用loop或lappy实现同样的功能,因为我的实际数据是非常长的列表,而不仅仅是3个长度。

我们可以使用Map并组合每个列表的相应元素

Map(c, list1, list2)

#[[1]]
#[[1]]$x
# [1]  2  3  4  5  2  5  9 11  1 10  6  8  3  4  5  6

#[[1]]$y
# [1]  2  3  4  5  1  2  3  4  5  6  1 10  6  8  3  4  5  6

#[[1]]$z
# [1]  2  3  4  5  1  2  3  4  5  6  2  5  9 11

#[[1]]$f
#     [,1] [,2]
#[1,]    2    9
#[2,]    5   11
#....
这与purrr中的map2类似

Map(c, list1, list2)

#[[1]]
#[[1]]$x
# [1]  2  3  4  5  2  5  9 11  1 10  6  8  3  4  5  6

#[[1]]$y
# [1]  2  3  4  5  1  2  3  4  5  6  1 10  6  8  3  4  5  6

#[[1]]$z
# [1]  2  3  4  5  1  2  3  4  5  6  2  5  9 11

#[[1]]$f
#     [,1] [,2]
#[1,]    2    9
#[2,]    5   11
#....
purrr::map2(list1, list2, c)