- 已编辑
有三组向量,用for 循环分别遍历每一组向量,代码如下:
x <- c(1, 2)
y <- c(3, 4, 5)
z <- c(6, 7, 8, 9)
for(i in x){
for(j in y){
for(k in z){
sum <- i + j + k
print(sum)
}
}
}
能否使用其他函数改写for循环,使代码运行更快?
谢谢大家!
有三组向量,用for 循环分别遍历每一组向量,代码如下:
x <- c(1, 2)
y <- c(3, 4, 5)
z <- c(6, 7, 8, 9)
for(i in x){
for(j in y){
for(k in z){
sum <- i + j + k
print(sum)
}
}
}
能否使用其他函数改写for循环,使代码运行更快?
谢谢大家!
这就相当于求个全排列:
expand.grid(x = c(1, 2), y = c(3, 4, 5), z = c(6, 7, 8, 9))
Ihavenothing 好的谢谢,能否使用lapply函数族来改进这个循环呢?
a_consultant
expandgrid之后直接三列相加出结果,没有用lapply的必要