【问题标题】:While loop nested in for loop RWhile循环嵌套在for循环R中
【发布时间】:2023-03-02 23:15:01
【问题描述】:

我正在尝试使用 for 和 while 循环提取 R 中的单个主题数据。我希望循环相应地提取数据并将其保存为自己的数据文件。问题是 for 循环没有正确计算 Subjects 并返回 b 的正确值。我的 while 循环完美运行,因为我可以手动设置 b 的值、运行循环并生成正确的数据文件。

Subjects = (1:2)
r = (1);

ST = (d$onReadyTime) #need to get ST to read not just the first number in onReadyTime for each trial 
ST=strsplit(ST,split = "a")

for (b in (1:length(Subjects)){
  b <- Subjects[r]
while (r == Subjects[b])
    {STSubject = (ST[[b]])
    ST2=(STSubject)
    #ST2=`colnames<-`(ST2,Subjects[i])
    write.table(ST2,file = paste("ST_Subject_",b,".csv",sep=""),row.names = FALSE, col.names= TRUE)
    r = r+1
    }
}

【问题讨论】:

  • b 是循环变量,您可以在循环的第一条指令中更改它。这怎么行?
  • 我不知道!我已经习惯了 MATLAB,所以仍然在这里学习。

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


【解决方案1】:

没有最低限度的工作示例,只能提供一般指导。

n <- 0
  for (i in seq_along(models)) {
    for (j in seq_along(meters)) {
      n <- n + 1
      make_line(i, j) -> glances[[n]]
      }
  }

如前所述,这里的关键点是在内部循环之外初始化计数器。

【讨论】:

    猜你喜欢
    • 2017-04-30
    • 2020-10-09
    • 2013-10-26
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多