将下一个数字添加到 R 中 Vector 中的前一个数字,For 循环

Adding Next Number to Previous number in Vector in R, For Loop

我是编码的超级新手,我想在 R 中做一个小的 for 循环。我的想法是在数字循环中添加每个后续索引并将其输出到一个名为 sums 的新向量。因此,总和向量应类似于 (10,19,27,34,40,45,49,52,54,55)。

numbers<-seq(10,1, by=-1)
Output: [1] 10  9  8  7  6  5  4  3  2  1
sums<-c()

这是我尝试过的:

for (i in numbers) {
  sums[i]<-sum(numbers[i+1])
  print(sums)
}

Output: [1]  9  8  7  6  5  4  3  2  1 NA NA

for (i in numbers) {
  sums[i]<-sum(numbers[i})
  print(sums)
}

Output: 55

使用累加函数

累积总和(10:1)

我会这样做

sums <- cumsum(10:1)
sums

如果你想使用 for 循环,你可以这样做:

例如

numbers<- 10:1

# this creates a blank vector
sums <- c()

for (i in seq_along(numbers)) {
  sums <-c(sums, sum(numbers[1:i]))
}

print(sums)

如果将 print 放在循环中,它将在循环的每次迭代中打印