Как вы правильно пишете двойной цикл for
в R?
Например, в C я бы сделал
int i, j;
for (i = 1; i < 6; i++) {
for (j=i; j <= 3; j++) {
printf("%i,%i\n",i,j);
}
// Do more operations for i > 3...
}
который будет генерировать (искусственную) последовательность:
1,1
1,2
1,3
2,2
2,3
3,3
В R вы не получаете такого же поведения, когда пишете
for (i in 1:6) {
for (j in i:3) {
print(paste(i,j,sep=","))
}
}
поэтому я был сведен к выполнению чего-то вроде
for (i in 1:6) {
j <- i
while (j <= 3) {
print(paste(i,j,sep=","))
j <- j+1
}
}
Есть ли лучший способ?
Как упоминал Шейн, возможно, я должен сделать это ясно: меня особенно интересует стиль кода, соответствующий математике, чтобы облегчить понимание учениками. Кажется, что ученики наиболее удобны с циклами for
.
В частности, я хочу, чтобы мои ученики моделировали модель рынка LIBOR. Динамику форвардной скорости следует моделировать с той же вероятностной мерой. Таким образом, для каждого временного шага и каждого прямой скорости, необходимо вычислить соответствующую коррекцию дрейфа\mu_i.