R: зацикливание значений в списке - PullRequest
0 голосов
/ 18 сентября 2018

Я бы хотел, чтобы мой цикл использовал вычисленное значение в качестве индекса, но, похоже, он не позволит мне сделать это.

Вот пример кода:

stype_rep <- c(6:10,11:15,31:35)

rep <- 6 #this can change


for (rep in stype_rep){

  print(sprintf("rep start loop: %s",rep))
  rep <- rep + 6 #this can change
  print(sprintf("rep added: %s", rep))

}

Когда вы запускаете код, он не использует новое значение rep, которое равно rep + 6. Как мне это сделать?

Dixi

1 Ответ

0 голосов
/ 22 сентября 2018

Для рекурсивного изменения vector вне цикла for необходимо использовать индексирование.Пожалуйста, смотрите код ниже:

rep <- c(6:10, 11:15, 31:35)

for (i in seq_along(rep)[-1] - 1){
  print(sprintf("rep start loop: %s",rep[i]))
  rep[i + 1] <- rep[i] + 6 #this can change
  print(sprintf("rep added: %s",rep[i]))
}

Выход:

[1] "rep start loop: 6"
[1] "rep added: 6"
[1] "rep start loop: 12"
[1] "rep added: 12"
[1] "rep start loop: 18"
[1] "rep added: 18"
[1] "rep start loop: 24"
[1] "rep added: 24"
[1] "rep start loop: 30"
[1] "rep added: 30"
[1] "rep start loop: 36"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...