Предположим, я хочу создать n = 3 случайных дорожки (длина пути = 100) с заданной предварительно сгенерированной матрицей (100x3) из плюсов / минусов. Первый путь начинается в 10, второй в 20, третий в 30:
set.seed(123) <br>
given.rand.matrix <- replicate(3,sign(rnorm(100))) <br>
path <- matrix(NA,101,3) <br>
path[1,] = c(10,20,30)</p>
<p>for (j in 2:101) {<br>
path[j,]<-path[j-1,]+given.rand.matrix[j-1,]
<br>
}
Конечными значениями (с учетом матрицы начальных чисел и рандов) являются 14, 6, 34 ... что является желаемым результатом ... но ...
Вопрос : Есть ли способ векторизации цикла for? Проблема в том, что при расчете матрица путей еще не полностью заполнена. Таким образом, замена цикла на
path[2:101,]<-path[1:100,]+given.rand.matrix
возвращает в основном NA. Я просто хочу знать, можно ли избежать такого цикла for в R.
Заранее большое спасибо.