肯定有一种比矢量b
的元素迭代矢量a
的元素更好的方法吗?
a <- 1:10
b <- c("dog", "cat", "badger", "eagle", "horse")
sapply(1:length(a), function(x){
sapply(1:length(b), function(y){
cat(a[x], b[y], "\n\n")
})
})
...给予...
1 dog
1 cat
1 badger
1 eagle
1 horse
2 dog
2 cat
2 badger
2 eagle
2 horse
3 dog
...等等。 R中等效的高阶函数是什么? 谢谢
答案 0 :(得分:0)
这可能无法完全回答您的问题,但有时最好使用mapply
而不是嵌套多个lapply
:
mapply(
function(x, y) cat(x, y, "\n\n"),
x = rep(a, times = length(b)),
y = rep(b, each = length(a)))