因此,请考虑以下情况:
data <- list(list(1, 2, 3, 4), list(1, 2, 3, 4, 5), list(1, 2, 3, 4), list(1, 2, 3, 4, 5))
现在,我想要一个for循环来获取n个“data”元素,并在它们的元素上执行一个函数。例如,如果n=3,则:
for(i in 1:length(data)) {
myfunc(data[[1]][[i]], data[[2]][[i]], data[[3]][[i]])
}
如果n=2,则:
for(i in 1:length(data)) {
myfunc(data[[1]][[i]], data[[2]][[i]])
}
如果n=1,则:
for(i in 1:length(data)) {
myfunc(data[[1]][[i]])
}
所以基本上,我想知道如何给定一个“n”,我们可以自动化这个过程。
1条答案
按热度按时间cqoc49vn1#
我认为我们可以通过使用
do.call
的一些间接执行和使用Map
的逐元素迭代来解决这个问题。我将使用一个简单的函数进行演示,该函数将简单地将其
n
-参数折叠成;
分隔的字符串。演示: