Создание гистограммы из путаницы смоделированных лямбда-значений - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь выполнить домашнюю работу для одного из моих классов, который недавно представил R. Нам дали ограниченное кодирование и небольшое руководство для домашней работы, что усложняло поиск полезного количества кода. Вопрос задается: заново запустите симуляции с лямбда-значениями 1,00, 1,02, 0,99, 1,01 и 1,02 (создайте новый вектор для r) и создайте третью гистограмму.

Здесьпервый бит кода, который был дан для выяснения раздела для A:

options("scipen"=100, "digits"=5) 
#This code is simply in place so that your results are given in 'normal' numbers
#and not scientific notation. RUN IT

# Below is your code to run your population simulations 

#######part a. Setting up your Variables
r <- c(1.00, 1.98, 1.02, 0.92, 0.53)      
n0 <- 29                                  
n = 100                                   
result = rep(NA, n)                       


for (i in 1:n){                           
  popsize <- n0                           

  for(time in 2:100){                     
    rtest = sample(r, 1, replace=TRUE)    
    popsize[time]=popsize[time-1]*rtest   
  }                                       

  result[i] <- popsize[100]               

 bins2 <- c(seq(from = 0, to = 500000, by = 25000))

hist(pop1, breaks = 20, xlab = "Population size", main = "Part A. Variable Lambdas", ylim =c(0, 100))

Теперь вот код, который я пытаюсь использовать для части C:

r2 <- c(1.00, 1.02, 0.99, 1.01, 1.02)
n0 <- 29                                  #original population
n = 100                                   #number of simulations
result = rep(NA, n)                       #empty vector for year 100 of each simulation


for (i in 1:n){                           #defining the start of the first loop
  popsize <- n0                           #renaming the original population

  for(time in 2:100){                     #second loop, to run each simulation for 100 years
    rtest = sample(r, 1, replace=TRUE)    #randomly selecting 1 of the 5 lambdas for each year
    popsize[time]=popsize[time-1]*rtest   #calculating lambda for the next 'step'/year
  }                                       #closing the second loop

  result[i] <- popsize[100]               #putting each simulations year 100 into vector
}                                         #closing the first loop


hist(r2, breaks = 20, xlab = "Population size", main = "Part C. Variable Lambdas", ylim =c(0, 100))

Это действительно производит гистограмму, но гистограмма действительно не имеет смысла по сравнению с гистограммой для A. У кого-нибудь есть какие-либо идеи, что я делаю неправильно с моим кодированием?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...