Как будет написано следующее с использованием apply?
# Variables
age <- 1:100
Y <- age+5
d <- 0.25
dx <- 5
a_x <- 1:dx
Yd <- matrix( 0, nrow=max(age), ncol=dx )
# Nested loop is computationally inefficient?
for (a in age){
for (ax in a_x){
Yd[a,ax] <- (Y[[a]] * (1 - d) ** (ax-1))
}
}
У моей модели много таких вложенных в петлевые структуры, потому что я некомпетентен. Я надеюсь улучшить вычислительное время с помощью apply. Я нахожу функции применения довольно запутанными, чтобы войти в. Я ищу решение, которое иллюстрирует, как можно получить такие вложенные структуры, используя apply. Надеюсь, что с этого момента я смогу применить (каламбур) решение для еще более сложных вложенных циклов (4-5 циклов внутри друг друга).
Например
Ydi <- rep( list(), 6)
for (i in 1:6){
Ydi[[i]] <- matrix( 0, nrow=max(age), ncol=dx )
}
# Nested loop is computationally inefficient?
for (i in 1:6){
for (a in age){
for (ax in a_x){
Ydi[[i]][a,ax] <- (Y[[a]] * (1 - d) ** (ax-1)) + i
}
}
}