-5

我是 R 编程的新学生,因为我目前的工作要求我适应它。然而,我才刚刚开始,与任何事情一样,学习曲线都很陡峭。我当前的项目要求我使用 if/else 或 for 命令。有一组数字:

1.586077^+00
3.242631^-03
2.426304^-03
8.616781^-04
5.396826^-03
2.947846^-04
1.018943^+01
8.639457^-03
8.458051^-03
2.807870^+02

现在我需要一个通过这些数字的命令,如果数字大于 1,则将其写下来。如果该数字小于 1,则将其相加,直到遇到下一个大于 1 的数字,然后将总和从开始写入该点。例如:

由于上述集合有 10 个数字,因此输出应如下所示:1, 2.138069469, 10.025406833

谢谢您的帮助!

4

1 回答 1

1
x <- c(.5, 0.2, 2, 3.4, 0.4, 1.2, .2, .8, 2.3, 7.4)

result.final <- NULL
cumul.total <- 0

for (i in x) {

  cumul.total <- cumul.total + i

  if(i > 1){
    result <- cumul.total
  }

  else {
    next
  }

  result.final <- c(result.final, result)

}

result.final
于 2013-08-20T16:59:20.597 回答