Я продолжаю получать сообщение об ошибке: «индекс за пределами» - PullRequest
0 голосов
/ 27 марта 2019

У меня есть матрица, охватывающая период с 1984 по 1988 годы, и цикл, который должен завершить матрицу до 2017 года, но, похоже, не может получить доступ к измерениям x лет назад в этом цикле.

Это примерно популяция лосося,Mad и Dib представляют взрослых, которые вернулись к своей реке рождения, чтобы нереститься после 1 и после 2 зим в море.Поскольку на созревание у них уходит примерно 3 года, я пытаюсь получить доступ к количеству яиц три года назад, чтобы родить новое поколение, количеству безумцев 4 года назад для безумных и количеству бабла 5 лет назад для бабы, чтобыродить яйца текущего года.

A<-2.012
V<-34
J<- -265.94
Sos<-0.0172


t <- 1984
D <- NA
mad <- 1805
dib <- 1023
oeufs<-((0.71*mad*(2025*1.67))+(0.71*dib*(1.745*4.08)))
Saumon <- matrix(c(t,mad,dib,oeufs,D),nrow=1,ncol=5)
colnames(Saumon) <- c("t","madeli","diber","oeufs","D")

t <- 1985
D <- NA
mad <- 1093
dib <- 1246
oeufs<-((0.71*mad*(2025*1.67))+(0.71*dib*(1.745*4.08)))
Saumon <- rbind(Saumon,c(t,mad,dib,oeufs,D))

t <- 1986
D <- NA
mad <- 1603
dib <- 1227
egg<-((0.71*mad*(2025*1.67))+(0.71*dib*(1.745*4.08)))
Salmon <- rbind(Salmon,c(t,mad,dib,egg,D))


t <- 1987
D <- NA
mad <- 1352
dib <- 1144
egg<-((0.71*mad*(2025*1.67))+(0.71*dib*(1.745*4.08)))
Salmon <- rbind(Salmon,c(t,mad,dib,egg,D))


t <- 1988
D <- NA
mad <- 1696
dib <- 1335
egg<-((0.71*mad*(2025*1.67))+(0.71*dib*(1.745*4.08)))
Salmon <- rbind(Salmon,c(t,mad,dib,egg,D))


for(t in 1989:2017){
  D <- sample(133:150,size=1,replace=TRUE)
  egg <- Salmon[t-3,4]
  Smolt3<-egg*Sos
  Smoltmer<-((A*(D+V)+J)/100)*Smolt3
  madeli <- Salmon[t-4,2]
  diber <- Salmon[t-5,3]
  egg<-((0.71*madeli*(2025*1.67))+(0.71*diber*(1.745*4.08)))
  diber<-(Smoltmer*0.43*0.0083)
  madeli<-(Smoltmer*0.57*exp(-(0.15*4.45)+0.9868))
  Salmon <- rbind(Salmon,c(t,madeli,diber,egg,D))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...