Я как бы новичок в R, но у меня есть некоторый опыт работы с Java. В Java я использовал для кодирования с для петель в другой для-петли, но я заметил, что это не работает так же, как в R.Как использовать цикл for внутри цикла в R
p <- 11
diags <- list(rep(0.30, p), rep(0.45, p), rep(0.25, p))
Matrix <- as.matrix(bandSparse(p, k = -c(-1:1), diag = c(diags), symm=FALSE))
Matrix[1,1] <- 0.70
Matrix[11,11] <- 0.75
vector <- rep(0, 11)
vector[5] <- 1
vector
for(i in 1:240){
e <- vector %*% (Matrix %^% i)
for(j in 2:24){
cumulativeSum <- cumulativeSum + e[j]
}
}
Я хочу, чтобы пройти через секунду-петли для каждого умножения матрицы, которое выполняется в первом for-loop. Я пробовал несколько вещей без желаемого результата, и я надеюсь, что кто-то может помочь мне в этом.
Где вы инициализируете 'cumulativeSum'? Кроме того, R не похож на Java. Петли уровня R обычно являются наименее эффективным способом достижения чего-то. Вместо этого предпочтительными являются векторизованные функции, то есть петли уровня C. – Roland
Простите, что я не опубликовал инициализацию cumulativeSum. В моем коде он установлен в ноль: cumulativeSum <- 0 – Pirlo
Каков результат, которого вы хотели? Каковы ошибки? Как вы знаете, что это неверно? и т. д. См. [здесь] (http://stackoverflow.com/help/how-to-ask) –