Извините за вопрос, что может быть глупым вопросом, но в каком смысле R не может этого сделать? Это прекрасно работает для меня:
N <- 5
for (i in 0:(2*N)) {
for (j in i:N) {
print(paste(i,j,sep=","))
}
}
Может быть, вы просто не ставили круглые скобки в конце своей последовательности?
Редактировать: Понятно ... вы хотите, чтобы последовательность i: 3 всегда была <= 3? Я не думаю, что это возможно ни с последовательностью, ни с предложением for. Вы можете установить разрыв в цикле, но это не лучше, чем ваш текущий подход: </p>
for (i in 1:6) {
for (j in i:3) {
if(j > 3) break()
print(paste(i,j,sep=","))
}
}
Вот еще один способ создать эту последовательность без цикла for:
x <- cbind(rep(c(1,2,3), 3),
rep(c(1,2,3), each=3))
Или с expand.grid (согласно предложению Дирка):
x <- expand.grid(x=1:3, y=1:3)
Затем удалите нежелательные случаи:
x[x[,1] >= x[,2],]
Редактировать 2: Это может не соответствовать вашим потребностям, но я считаю, что Quantlib имеет реализацию модели рынка Libor. Я не уверен, выставлен ли он в RQuantlib .