【发布时间】:2021-03-31 12:00:40
【问题描述】:
我想将示例函数应用于嵌套列表(我将调用此列表bb),并且我还有一个要在示例函数中提供的数字列表(我将调用此列表k)。我希望 k 中的每个数字都遍历 bb 中每个列表的所有值。如何使用mapply 或lapply 做到这一点?
以下是数据:
k <- list(1,2,4,3) #this is the list of numbers to be supplied in the `sample.int` function
b1 <- list(c(1,2,3),c(2,3,4),c(3,4,5),c(4,5,6)) #The first list of bb
b2 <- list(c(1,2),c(2,3),c(3,4),c(4,5), c(5,6)) #The second list of bb
bb <- list(b1,b2) #This is list bb containing b1 and b2 whose values are to be iterated through
我创建了这个mapply 函数,但没有得到预期的结果:
mapply(function(x, y) {
x[sample.int(y,y, replace = TRUE)]
}, bb,k, SIMPLIFY = FALSE)
这仅返回 10 个输出值,但我希望每个 k 数循环遍历 bb 中两个列表的所有值,因此 bb 中的两个列表应该有 10*2 个输出。我可能以错误的方式使用mapply,所以如果有人能指出我正确的方向,我将不胜感激!
【问题讨论】: