我必须根据某些矢量值运行循环。一些示例代码和数据如下所示:
list_store <- list()
vec <- c(3,2,3)
data_list <- lapply(list(head(mtcars,10), head(mtcars,15), head(mtcars,20), head(mtcars, 9),
head(mtcars,14), head(mtcars,18), head(mtcars,20), head(mtcars,10)),
function(x) rownames_to_column(x))
data_list1 <- lapply(list(head(mtcars,7), head(mtcars,8), head(mtcars,10)), function(x) rownames_to_column(x))
result <- lapply(data_list, function(i){
list_store[[length(list_store) + 1]] <- merge(i, data_list1[[1]], all.y = TRUE)
})
上面的代码是我要将data_list
的前三个文件与data_list1
的第一个文件合并,将data_list
的下两个文件与data_list1
的第二个文件合并最后是data_list
的其他三个文件,第三个文件是data_list1
。在我的代码中,我将data_list
的所有文件与data_list1
的第一个文件合并,但我想根据data_list1
更改vec
我可以有一个循环跟踪i
,j
等等来完成所有过程,但我想知道是否有任何有效的方法。
答案 0 :(得分:2)
我们通过'vec'序列replicate
'vec',将split
'data_list'用于3 list
个元素,每个元素都有list
。然后,使用Map
传递list
数据集和'data_list1'中的相应split
元素,循环嵌套list
lapply
和{{1使用'data_list1'元素,使用merge
将嵌套的c
转换回'data_list'的正常list
结构。
list