我无法将顺序结果的for循环保存在R中?

我无法将顺序结果的for循环保存在R中?,r,for-loop,R,For Loop,我的for循环算法的大小总是不同的,因为seq的输出不同,因此,我无法保存结果。我该怎么做?我卡在mat[?,?]循环的一部分,请看下面的示例。我该怎么做 d<-data.frame(L1=c(1,6,8), L2=c(3,14,22)) mat<-matrix(c(0),15,2) for (i in 1:nrow(d)) { x1<-seq(d$L1[i],d$L2[i],2) x1 for (k in seq_along(x1[-1]))

我的
for
循环算法的大小总是不同的,因为
seq
的输出不同,因此,我无法保存结果。我该怎么做?我卡在
mat[?,?]
循环的一部分,请看下面的示例。我该怎么做

d<-data.frame(L1=c(1,6,8), L2=c(3,14,22))
    mat<-matrix(c(0),15,2)

for (i in 1:nrow(d)) {
    x1<-seq(d$L1[i],d$L2[i],2)
    x1
    for (k in seq_along(x1[-1])) {
      
      L1<- x1[k]
      L2<- x1[k+1]
      mat[?,]<- c(L1+L2,L1-L2)
  }
    }

对于
i使用
apply
尝试此方法,它将:

do.call(rbind, apply(d, 1, function(x) {
  x1 <- seq(x[1], x[2], 2)
  cbind(head(x1, -1) + tail(x1, -1), head(x1, -1) - tail(x1, -1))
}))

#      [,1] [,2]
# [1,]    4   -2
# [2,]   14   -2
# [3,]   18   -2
# [4,]   22   -2
# [5,]   26   -2
# [6,]   18   -2
# [7,]   22   -2
# [8,]   26   -2
# [9,]   30   -2
#[10,]   34   -2
#[11,]   38   -2
#[12,]   42   -2
do.call(rbind,apply(d,1,函数x){

x1我认为有更好的方法可以做到这一点,而不必使用
for
循环。你能显示给定数据帧
d
的预期输出吗?谢谢你的回答,事实上,我需要它来计算某物,因为我在本例中被求和和和减法。问题清楚吗?不,我不清楚。你能显示预期输出f吗还是给定的示例?我在Ronaksah添加了保存输出
 mat[2,]<-c(14,-2), mat[3,]<-c(18,-2),mat[4,]<-c(22 ,-2) and mat[5,]<-c(22 ,-2)
do.call(rbind, apply(d, 1, function(x) {
  x1 <- seq(x[1], x[2], 2)
  cbind(head(x1, -1) + tail(x1, -1), head(x1, -1) - tail(x1, -1))
}))

#      [,1] [,2]
# [1,]    4   -2
# [2,]   14   -2
# [3,]   18   -2
# [4,]   22   -2
# [5,]   26   -2
# [6,]   18   -2
# [7,]   22   -2
# [8,]   26   -2
# [9,]   30   -2
#[10,]   34   -2
#[11,]   38   -2
#[12,]   42   -2