Skip to content

Commit

Permalink
Fixed nets and Confidence intervals
Browse files Browse the repository at this point in the history
  • Loading branch information
derek-corcoran-barrios committed Mar 30, 2023
1 parent 227e3fc commit 2689e95
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 65 deletions.
Binary file modified .RData
Binary file not shown.
114 changes: 57 additions & 57 deletions .Rhistory
Original file line number Diff line number Diff line change
@@ -1,60 +1,3 @@
Summs.exp$Normal.Resid <- ifelse(tidy(ks.test(augment(exp.model)$.resid,y='pnorm',alternative='two.sided'))$p.value < 0.05, "No", "Yes")
Summs.exp$family <- "Exponential"
Summs.exp$AICcNorm <- logLik(MASS::fitdistr(augment(exp.model)$.resid, "normal"))[1]
Summs.exp$AICcNorm <- (4 - 2*Summs.exp$AICcNorm) + (12/(nrow(augment(exp.model)) - 1))
Params.exp <- tidy(exp.model)
Params.exp$model <- "Exp"
}, error = function(e) {
# display error message when there is an error
message("Could not fit Exponential model: ", e$message)
# set Summs.exp to NULL when there is an error
Summs.exp <- NULL
})
#exponential model Log
tryCatch({
power <- filter(For.Graph, K != 0 & Cumulative != 0)
logexp.model <- glm(LogCum ~ K, data = power)
power$LogExp <- exp(predict(logexp.model))
Summs.logexp <- glance(logexp.model)
Summs.logexp$model <- "LogExp"
Summs.logexp$Normal.Resid <- ifelse(tidy(ks.test(augment(logexp.model)$.resid,y='pnorm',alternative='two.sided'))$p.value < 0.05, "No", "Yes")
Summs.logexp$family <- "Exponential"
Summs.logexp$AICcNorm <- logLik(MASS::fitdistr(augment(logexp.model)$.resid, "normal"))[1]
Summs.logexp$AICcNorm <- (4 - 2*Summs.logexp$AICcNorm) + (12/(nrow(augment(logexp.model)) - 1))
Params.logexp <- tidy(logexp.model)
Params.logexp$model <- "LogExp"}, error = function(e) {
# display error message when there is an error
message("Could not fit Logexponential model: ", e$message)
# set Summs.exp to NULL when there is an error
Summs.logexp <- NULL
})
#logpowerlaw
tryCatch({
logpower.model <- glm(LogCum ~ I(log(K)), data = power)
power$LogPower <- exp(predict(logpower.model))
For.Graph <- full_join(For.Graph, power)
Summs.logpower <- glance(logpower.model)
Summs.logpower$model <- "LogPower"
Summs.logpower$Normal.Resid <- ifelse(tidy(ks.test(augment(logpower.model)$.resid,y='pnorm',alternative='two.sided'))$p.value < 0.05, "No", "Yes")
Summs.logpower$family <- "PowerLaw"
Summs.logpower$AICcNorm <- logLik(MASS::fitdistr(augment(logpower.model)$.resid, "normal"))[1]
Summs.logpower$AICcNorm <- (4 - 2*Summs.logpower$AICcNorm) + (12/(nrow(augment(logpower.model)) - 1))
Params.logpower <- tidy(logpower.model)
Params.logpower$model <- "LogPower"}, error = function(e) {
# display error message when there is an error
message("Could not fit Logpower model: ", e$message)
# set Summs.exp to NULL when there is an error
Summs.logpower <- NULL
})
#powerlaw
tryCatch({
powerlaw.model <- nls(Cumulative~a*K^y, start= list(y=0, a = 1), data = power)
power$Power <- predict(powerlaw.model)
For.Graph <- full_join(For.Graph, power)
Summs.power <- glance(powerlaw.model)
Summs.power$model <- "Power"
Summs.power$Normal.Resid <- ifelse(tidy(ks.test(augment(powerlaw.model)$.resid,y='pnorm',alternative='two.sided'))$p.value < 0.05, "No", "Yes")
Summs.power$family <- "PowerLaw"
Summs.power$AICcNorm <- logLik(MASS::fitdistr(augment(powerlaw.model)$.resid, "normal"))[1]
Summs.power$AICcNorm <- (4 - 2*Summs.power$AICcNorm) + (12/(nrow(augment(powerlaw.model)) - 1))
Params.power <- tidy(powerlaw.model)
Expand Down Expand Up @@ -510,3 +453,60 @@ usethis::use_package("doSNOW")
library(NetworkExtinction)
library(NetworkExtinction)
library(NetworkExtinction)
library(NetworkExtinction)
?ExtinctionOrder
data("net")
SimulateExtinctions(Network = net, Order = c(1,2,3,4,5,6,7,8,9,10),
Method = "Ordered" , clust.method = "cluster_infomap")
data("net")
Test <- SimulateExtinctions(Network = net, Order = c(1,2,3,4,5,6,7,8,9,10),
Method = "Ordered" , clust.method = "cluster_infomap")
Test$sims
Test$R50
Test$R100
library(NetworkExtinction)
library(NetworkExtinction)
data("net")
Test <- SimulateExtinctions(Network = net, Order = c(1,2,3,4,5,6,7,8,9,10),
Method = "Ordered" , clust.method = "cluster_infomap")
Test
Test$R50
Test$R100
library(NetworkExtinction)
data("More_Connected")
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
Test$R50
data("More_Connected")
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
library(NetworkExtinction)
data("More_Connected")
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
Test$R100
data("More_Connected")
Test <- RandomExtinctions(Network = More_Connected, nsim = 20, Record = F, plot = F)
library(NetworkExtinction)
library(NetworkExtinction)
data("More_Connected")
Test <- RandomExtinctions(Network = More_Connected, nsim = 20, Record = F, plot = F)
data("More_Connected")
Test <- RandomExtinctions(Network = More_Connected, nsim = 20, Record = T, plot = F)
library(NetworkExtinction)
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
sims <- readRDS("~/Documents/NetworkExtinction/sims.rds")
class(sims)
sims
library(NetworkExtinction)
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
sims <- readRDS("~/Documents/NetworkExtinction/sims.rds")
sims
sims[[1]]$R50
library(NetworkExtinction)
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
Test$sims
Test$nets
Test$``
library(NetworkExtinction)
Test <- RandomExtinctions(Network = More_Connected, nsim = 20)
Test$R50result
Test$R100result
library(NetworkExtinction)
2 changes: 2 additions & 0 deletions .Rproj.user/shared/notebooks/paths
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
/home/au687614/Documents/NetworkExtinction/DESCRIPTION="4BD5E975"
/home/au687614/Documents/NetworkExtinction/README.Rmd="7DA4CF08"
/home/au687614/Downloads/Robustness metrics V3(1).R="21EBD13A"
/home/au687614/Downloads/Robustness metrics V3.R="41B517CD"
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: NetworkExtinction
Type: Package
Title: Extinction Simulation in Ecological Networks
Version: 1.0.2
Version: 1.0.3
Authors@R: c(person("Derek", "Corcoran", email = "[email protected]",
role = c("aut", "cre"), comment = c(ORCID = "0000-0002-0248-6230")), person("M. Isidora", "Ávila-Thieme", email = "[email protected]",
role = c("aut"), comment = c(ORCID = "0000-0003-0772-4717")), person("Fernanda S.", "Valdovinos", role = c("aut")), person("Sergio A.", "Navarrete", role = c("aut")),
Expand Down
4 changes: 3 additions & 1 deletion R/Extintions.R
Original file line number Diff line number Diff line change
Expand Up @@ -730,13 +730,15 @@ RandomExtinctions <- function(Network, nsim = 10,
R50mean <- mean(r50values)
R50CI <- 1.96*sd(r50values)
R50result <- c(R50mean,R50CI)
names(R50result) <- c("Mean", "CI")

R100mean <- mean(r100values)
R100CI <- 1.96*sd(r100values)
R100result <- c(R100mean,R100CI)
names(R50result) <- c("Mean", "CI")

## extract objects
temps <- lapply(sims, "[[", 2)
temps <- lapply(sims, "[[", 4)
sims <- lapply(sims, "[[", 1)
cond <- sapply(sims, function(x) "data.frame" %in% class(x))
cond <- c(1:length(cond))[cond]
Expand Down
12 changes: 6 additions & 6 deletions R/Powerlaw.R
Original file line number Diff line number Diff line change
Expand Up @@ -166,15 +166,15 @@ DegreeDistribution <- function(Network, scale = "arithmetic"){


#all together
Summs <- list(Summs.exp, Summs.power, Summs.logexp, Summs.logpower) |>
purrr::discard(is.null) |>
purrr::reduce(full_join) |>
select(logLik, AIC, BIC, model, Normal.Resid, family, AICcNorm) |> arrange(Normal.Resid, AIC) |>
dplyr::select(logLik, AIC, BIC, model, Normal.Resid, family) |>
Summs <- list(Summs.exp, Summs.power, Summs.logexp, Summs.logpower) %>%
purrr::discard(is.null) %>%
purrr::reduce(full_join) %>%
select(logLik, AIC, BIC, model, Normal.Resid, family, AICcNorm) %>% arrange(Normal.Resid, AIC) %>%
dplyr::select(logLik, AIC, BIC, model, Normal.Resid, family) %>%
dplyr::filter(AIC > -Inf, AIC < Inf)


params <- list(Params.logpower, Params.power, Params.logexp, Params.exp) |> purrr::discard(is.null) |>
params <- list(Params.logpower, Params.power, Params.logexp, Params.exp) %>% purrr::discard(is.null) %>%
purrr::reduce(bind_rows) %>%
dplyr::filter(model %in% Summs$model) %>%
mutate(term = case_when(term == "y" ~ "Beta",
Expand Down

0 comments on commit 2689e95

Please sign in to comment.