Mercurial > repos > greg > insect_phenology_model
comparison insect_phenology_model.R @ 107:2c2903e7ce68 draft
Uploaded
author | greg |
---|---|
date | Tue, 05 Dec 2017 11:32:33 -0500 |
parents | aa1890120743 |
children | 8871797b1be4 |
comparison
equal
deleted
inserted
replaced
106:aa1890120743 | 107:2c2903e7ce68 |
---|---|
503 vector.individual[4] <- vector.individual[4] + 1 | 503 vector.individual[4] <- vector.individual[4] + 1 |
504 vector.matrix[i,] <- vector.individual | 504 vector.matrix[i,] <- vector.individual |
505 } | 505 } |
506 } # Else if it is still alive. | 506 } # Else if it is still alive. |
507 } # End of the individual bug loop. | 507 } # End of the individual bug loop. |
508 # Find the number of deaths. | 508 |
509 # Number of deaths. | |
509 num_insects.death <- length(death.vector) | 510 num_insects.death <- length(death.vector) |
510 if (num_insects.death > 0) { | 511 if (num_insects.death > 0) { |
511 # Remove record of dead. | 512 # Remove record of dead. |
512 vector.matrix <- vector.matrix[-death.vector, ] | 513 vector.matrix <- vector.matrix[-death.vector, ] |
513 } | 514 } |
514 # Find the number of births. | 515 # Number of births. |
515 num_insects.newborn <- length(birth.vector[,1]) | 516 num_insects.newborn <- length(birth.vector[,1]) |
516 vector.matrix <- rbind(vector.matrix, birth.vector) | 517 vector.matrix <- rbind(vector.matrix, birth.vector) |
517 # Update population size for the next day. | 518 # Update population size for the next day. |
518 num_insects <- num_insects - num_insects.death + num_insects.newborn | 519 num_insects <- num_insects - num_insects.death + num_insects.newborn |
519 | 520 |
520 # Aggregate results by day. | 521 # Aggregate results by day. |
521 total.population <- c(total.population, num_insects) | |
522 # All adults population size. | |
523 num_insects.adult <- sum(vector.matrix[,2]==3)+sum(vector.matrix[,2]==4)+sum(vector.matrix[,2]==5) | |
524 # Overwintering adult population size. | |
525 overwintering_adult.population[row] <- sum(vector.matrix[,1]==0) | |
526 # First generation population size. | |
527 first_generation.population[row] <- sum(vector.matrix[,1]==1) | |
528 # Second generation population size. | |
529 second_generation.population[row] <- sum(vector.matrix[,1]==2) | |
530 # Egg population size. | 522 # Egg population size. |
531 Eggs[row] <- sum(vector.matrix[,2]==0) | 523 Eggs[row] <- sum(vector.matrix[,2]==0) |
532 # Young nymph population size. | 524 # Young nymph population size. |
533 YoungNymphs[row] <- sum(vector.matrix[,2]==1) | 525 YoungNymphs[row] <- sum(vector.matrix[,2]==1) |
534 # Old nymph population size. | 526 # Old nymph population size. |
537 Previtellogenic[row] <- sum(vector.matrix[,2]==3) | 529 Previtellogenic[row] <- sum(vector.matrix[,2]==3) |
538 # Vitellogenic population size. | 530 # Vitellogenic population size. |
539 Vitellogenic[row] <- sum(vector.matrix[,2]==4) | 531 Vitellogenic[row] <- sum(vector.matrix[,2]==4) |
540 # Diapausing population size. | 532 # Diapausing population size. |
541 Diapausing[row] <- sum(vector.matrix[,2]==5) | 533 Diapausing[row] <- sum(vector.matrix[,2]==5) |
534 | |
535 # Newborn population size. | |
536 N.newborn[row] <- num_insects.newborn | |
537 # Adult population size. | |
538 N.adult[row] <- sum(vector.matrix[,2]==3) + sum(vector.matrix[,2]==4) + sum(vector.matrix[,2]==5) | |
539 # Dead population size. | |
540 N.death[row] <- num_insects.death | |
541 | |
542 total.population <- c(total.population, num_insects) | |
543 | |
544 # Overwintering adult population size. | |
545 overwintering_adult.population[row] <- sum(vector.matrix[,1]==0) | |
546 # First generation population size. | |
547 first_generation.population[row] <- sum(vector.matrix[,1]==1) | |
548 # Second generation population size. | |
549 second_generation.population[row] <- sum(vector.matrix[,1]==2) | |
550 | |
542 # P adult population size. | 551 # P adult population size. |
543 P.adult[row] <- sum(vector.matrix[,1]==0) | 552 P.adult[row] <- sum(vector.matrix[,1]==0) |
544 # F1 adult population size. | 553 # F1 adult population size. |
545 F1.adult[row] <- sum((vector.matrix[,1]==1 & vector.matrix[,2]==3) | (vector.matrix[,1]==1 & vector.matrix[,2]==4) | (vector.matrix[,1]==1 & vector.matrix[,2]==5)) | 554 F1.adult[row] <- sum((vector.matrix[,1]==1 & vector.matrix[,2]==3) | (vector.matrix[,1]==1 & vector.matrix[,2]==4) | (vector.matrix[,1]==1 & vector.matrix[,2]==5)) |
546 # F2 adult population size | 555 # F2 adult population size |
547 F2.adult[row] <- sum((vector.matrix[,1]==2 & vector.matrix[,2]==3) | (vector.matrix[,1]==2 & vector.matrix[,2]==4) | (vector.matrix[,1]==2 & vector.matrix[,2]==5)) | 556 F2.adult[row] <- sum((vector.matrix[,1]==2 & vector.matrix[,2]==3) | (vector.matrix[,1]==2 & vector.matrix[,2]==4) | (vector.matrix[,1]==2 & vector.matrix[,2]==5)) |
548 # Newborn population size. | |
549 N.newborn[row] <- num_insects.newborn | |
550 # Dead population size. | |
551 N.death[row] <- num_insects.death | |
552 # Adult population size. | |
553 N.adult[row] <- num_insects.adult | |
554 } # End of days specified in the input temperature data. | 557 } # End of days specified in the input temperature data. |
555 | 558 |
556 averages.cum <- cumsum(averages.day) | 559 averages.cum <- cumsum(averages.day) |
557 | 560 |
558 # Define the output values. | 561 # Define the output values. |
560 YoungNymphs.replications[,N.replications] <- YoungNymphs | 563 YoungNymphs.replications[,N.replications] <- YoungNymphs |
561 OldNymphs.replications[,N.replications] <- OldNymphs | 564 OldNymphs.replications[,N.replications] <- OldNymphs |
562 Previtellogenic.replications[,N.replications] <- Previtellogenic | 565 Previtellogenic.replications[,N.replications] <- Previtellogenic |
563 Vitellogenic.replications[,N.replications] <- Vitellogenic | 566 Vitellogenic.replications[,N.replications] <- Vitellogenic |
564 Diapausing.replications[,N.replications] <- Diapausing | 567 Diapausing.replications[,N.replications] <- Diapausing |
568 | |
565 newborn.replications[,N.replications] <- N.newborn | 569 newborn.replications[,N.replications] <- N.newborn |
570 adult.replications[,N.replications] <- N.adult | |
566 death.replications[,N.replications] <- N.death | 571 death.replications[,N.replications] <- N.death |
567 adult.replications[,N.replications] <- N.adult | 572 |
568 population.replications[,N.replications] <- total.population | |
569 P.replications[,N.replications] <- overwintering_adult.population | 573 P.replications[,N.replications] <- overwintering_adult.population |
570 F1.replications[,N.replications] <- first_generation.population | 574 F1.replications[,N.replications] <- first_generation.population |
571 F2.replications[,N.replications] <- second_generation.population | 575 F2.replications[,N.replications] <- second_generation.population |
572 P_adults.replications[,N.replications] <- P.adult | 576 P_adults.replications[,N.replications] <- P.adult |
573 F1_adults.replications[,N.replications] <- F1.adult | 577 F1_adults.replications[,N.replications] <- F1.adult |
574 F2_adults.replications[,N.replications] <- F2.adult | 578 F2_adults.replications[,N.replications] <- F2.adult |
579 | |
580 population.replications[,N.replications] <- total.population | |
575 } | 581 } |
576 | 582 |
577 # Mean value for eggs. | 583 # Mean value for eggs. |
578 eggs <- apply(Eggs.replications, 1, mean) | 584 eggs <- apply(Eggs.replications, 1, mean) |
579 # Standard error for eggs. | 585 # Standard error for eggs. |
643 render_chart("pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval, | 649 render_chart("pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval, |
644 opt$std_error_plot, P, F1, F2, P.std_error, F1.std_error, F2.std_error) | 650 opt$std_error_plot, P, F1, F2, P.std_error, F1.std_error, F2.std_error) |
645 # Subfigure 3: adult population size by generation | 651 # Subfigure 3: adult population size by generation |
646 maxval <- max(F2_adults) + 100 | 652 maxval <- max(F2_adults) + 100 |
647 render_chart("adult_pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval, | 653 render_chart("adult_pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval, |
648 opt$std_error_plot, P_adults, F1_adults, F2_adults, P_adults.std_error, F1_adults.std_error, F2_adults2.std_error) | 654 opt$std_error_plot, P_adults, F1_adults, F2_adults, P_adults.std_error, F1_adults.std_error, F2_adults.std_error) |
649 | 655 |
650 # Turn off device driver to flush output. | 656 # Turn off device driver to flush output. |
651 dev.off() | 657 dev.off() |