Как предотвратить использование l oop с помощью `replicate` - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь упростить код, похожий на этот

someFunc <- function(x) {
   return(x + 3L)
}

x <- 1L
for (i in 1:10) {
   x <- c(x, someFunc(x[length(x)]))
}

Я думал о таком уменьшении

replicate(10, x <- c(x, someFunc(x[length(x)]))

, но это не работает, так как он использует копию x. Как мне заставить логи c работать без использования al oop. Я думаю, что в R должен быть способ (someFunc должен быть произвольным - я просто опубликовал его в качестве примера).

1 Ответ

0 голосов
/ 30 апреля 2020

Если ваш вывод для x равен

> x
[1]  1  4  7 10 13 16 19 22 25 28 31

, вы можете просто использовать:

x <- seq(0,10) * 3 + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...