对于列的每一行(foreach)

puruo6ea  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(78)

我有一个数据框,在A列中,我希望索引2中的每个值都是前一个值A加B除以10的结果。

A[2:n]<- A[1:n]+B[2:n]/10

我怎么能用foreach做到这一点呢?

foreach (i=df$A[2:17],j=df$B[2:17])%do%
{df$A[2:17]<-1:length(i)-1+1:length(j)/10
}

但它不起作用。请帮帮我。

h43kikqp

h43kikqp1#

mydf <- data.frame(C = 1:3, B = 11:13)

for (i in seq_along(mydf)) {
  if (i == 1) {
    mydf$A[i] <- 0
  } else {
    mydf$A[i] <- mydf$A[i-1] + mydf$B[i] / 10
  }      
}

mydf

  C  B   A
1 1 11 0.0
2 2 12 1.2
3 3 13 2.5

相关问题