当然必须有一个更好的方法来迭代矢量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中的高阶函数等价?谢谢
这可能无法准确回答你的问题,但有时最好使用mapply
而不是嵌套多个lapply
:
mapply(
function(x, y) cat(x, y, "\n\n"),
x = rep(a, times = length(b)),
y = rep(b, each = length(a)))