【问题标题】:R - Run nested loop in the same incremental sequenceR - 以相同的增量顺序运行嵌套循环
【发布时间】:2020-04-12 06:50:27
【问题描述】:

我对 R 比较陌生,并且有一个嵌套循环问题,我试图让嵌套循环和父循环以相同的增量顺序运行。

我们需要的是: 对于(我在 1:40), 当 i = 1 -> 运行计算 -> 运行嵌套循环进行总结 重复 i = 2 直到 40

下面是我正在尝试编写脚本的说明:

for (i in 1:10) {# calculations...

   for (j in 1:10) {# calculations }

   # continue with other calculations}

简而言之,我试图让“i”和“j”彼此同步增量循环,即当 i = 1、j = 1 时,并在 i = 2、j = 2 时重复。我'已经尝试使用 foreach() 但不确定如何应用该功能。

我得到的错误信息是:错误:未知列COLUMN_NAME_2

感谢您对此的任何帮助!谢谢!

【问题讨论】:

  • 您希望 j 始终具有与 i 相同的值吗?如果是这种情况,您似乎不需要第二个循环,只需在每次使用 j 时使用 i。如果不是这种情况,那么您的问题对我来说并不清楚。也许你可以编辑澄清一下?
  • @Bkeeks,这很令人困惑。正如所指出的,如果ij 始终相同,则不需要两者,只需在任何地方使用i。或者,如果您仍然觉得两者都需要,请将j = i 作为循环的第一行。如果您希望在循环内重复发生某些事情,也许您使用j 作为计数器,但仍然在内循环内使用i。或者也许replicate 做你想做的事......很难用你提供的东西说。
  • 但这真的感觉像an XY problem。我们不需要了解所有内容,但更多关于您的目标的背景信息以及少量样本输入和所需输出将有助于明确您的需求。

标签: r loops for-loop foreach nested-loops


【解决方案1】:

我相信,尽管我不完全确定,因为没有一段可重现的代码(通常可以包含这些代码,仅供参考),您可以简单地将 i(或 j)用于这两个目的。例如,

a <- c(1, 2, 3, 4)
b <- c(5, 6, 7, 8)

for (i in 1:4) {
  print(a[[i]])
  print(b[[i]])
}

如果索引始终相同,则不需要嵌套循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多