library(dplyr)
library(tidyr)
library(ggplot2)
library(readxl)
library(stringr)
## using R to simplify sona's Rs dataset and get average values for the tidy data used in my SEM (basically separating out by subplot and averag)
twothree_respiration <- read_excel("~/Documents/VCU/FoRTE/Rs_2023.xlsx")
head(twothree_respiration)
## # A tibble: 6 × 10
## Rep_ID Plot_ID Subplot nestSubplot Run soilCO2Efflux soilTemp VWC
## <chr> <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 D 3 w n 1 6.13 14.5 3
## 2 D 3 w n 2 6.29 14.5 3
## 3 D 3 w w 1 2.73 15.1 3
## 4 D 3 w w 2 2.48 15.1 3
## 5 D 3 w s 1 5.47 13.9 4
## 6 D 3 w s 2 5.22 13.9 4
## # ℹ 2 more variables: date <dttm>, Comments <chr>
#Convert date into POSIXct class and add just a year column
twothree_respiration$date <- as.POSIXct(twothree_respiration$date,format="%Y-%m-%d")
twothree_respiration$year <- format(twothree_respiration$date, format = "%Y")
# combining rep, plot, subplot, and nestsubplot into one unique_ID code
twothree_respiration$Subplot_code <- str_c(twothree_respiration$Rep_ID,
'',
twothree_respiration$Plot_ID,
'',
twothree_respiration$Subplot,
'',
twothree_respiration$nestSubplot)
# getting averages for each unique subplot code for every run performed in late june 2023
respiration_tidy <- twothree_respiration %>%
group_by(Subplot_code) %>%
summarise(
n=n(),
respiration_avg = mean(soilCO2Efflux),
repiration_sd = sd(soilCO2Efflux),
soilTemp_avg = mean(soilTemp),
soilTemp_sd = sd(soilTemp),
VWC_mean = mean(VWC),
VWC_sd = sd(VWC)
)
respiration_tidy
## # A tibble: 160 × 8
## Subplot_code n respiration_avg repiration_sd soilTemp_avg soilTemp_sd
## <chr> <int> <dbl> <dbl> <dbl> <dbl>
## 1 A1ec 2 4.19 0.00707 14.4 0.0707
## 2 A1ee 2 4.84 0.0495 13.9 0
## 3 A1en 2 2.12 0.0990 15.6 0.0707
## 4 A1es 2 2.08 0.120 16.2 0
## 5 A1ew 2 3.24 0.134 14.9 0
## 6 A1wc 2 3.89 0.0424 16.1 0
## 7 A1we 2 1.86 0.0141 16.1 0
## 8 A1wn 2 2.86 0.127 15.2 0
## 9 A1ws 2 3.30 0.00707 14.6 0
## 10 A1ww 2 3.16 0.0354 15.5 0
## # ℹ 150 more rows
## # ℹ 2 more variables: VWC_mean <dbl>, VWC_sd <dbl>
# making the file a csv file to put into excel
write.csv(respiration_tidy,"repiration_tidy.csv")
library(dplyr)
library(stringr)
library(ggplot2)
library(readxl)
# exporting the data, excluding any plots with NA spots
twothree_data <- read_excel("FoRTE_2023_arthropod_data.xlsx")
jcdataa <- na.omit(twothree_data)
jcdataa
## # A tibble: 32 × 25
## subplotID site severity type type_dummy subplot_id_type subplot_dummy
## <chr> <chr> <dbl> <chr> <dbl> <chr> <chr>
## 1 A04E A 0 B 0 A0B A00
## 2 A04W A 0 T 1 A0T A01
## 3 A02W A 45 B 0 A45B A450
## 4 A02E A 45 T 1 A45T A451
## 5 A03E A 65 B 0 A65B A650
## 6 A03W A 65 T 1 A65T A651
## 7 A01W A 85 B 0 A85B A850
## 8 A01E A 85 T 1 A85T A851
## 9 B01E B 0 B 0 B0B B00
## 10 B01W B 0 T 1 B0T B01
## # ℹ 22 more rows
## # ℹ 18 more variables: biomass_per_ha <dbl>, AVG_VAI <dbl>, AVG_RUGOSITY <dbl>,
## # AVG_SKYFRAC <dbl>, AVG_ABUN <dbl>, std_err_abun <dbl>, AVG_BIOMASS <dbl>,
## # std_err_biomass <dbl>, AVG_RESP <dbl>, std_err_resp <dbl>, AVG_TEMP <dbl>,
## # std_err_temp <dbl>, AVG_VWC <dbl>, std_err_vwc <dbl>, AVG_HUPIE <dbl>,
## # std_err_hupie <dbl>, AVG_RICH <dbl>, std_err_rich <dbl>
# summarising the data in a tibble to get a better understanding of how many I have in each rep with the omissions
#twothree_tibble <- jcdata %>%
# group_by(site) %>%
# summarise(
# n=n(),
# abundance_mean = mean(a),
# biomass_mean = mean(biomass),
# respiration_mean = mean(respiration_avg),
# respiration_sd = sd(respiration_avg),
# soilTemp_mean = mean(soilTemp_avg),
# soilTemp_sd = sd(soilTemp_avg),
# VWC_avg = mean(VWC_mean),
# VWC_sd = sd(VWC_mean)
# )
#twothree_tibble
# need to combine site x severity to piece out nuances between disturbances
# jcdataa$Subplot_code <- str_c(jcdata$site,
# '',
# jcdata$severity,
# '',
# jcdata$type)
# another tibble with the group by set as subplot code
#twothree_tibble2 <- jcdataa %>%
# group_by(Subplot_code) %>%
# summarise(
# n=n(),
# abundance_mean = mean(abundance),
# biomass_mean = mean(biomass),
# respiration_mean = mean(respiration_avg),
# respiration_sd = sd(respiration_avg),
# soilTemp_mean = mean(soilTemp_avg),
# soilTemp_sd = sd(soilTemp_avg),
# VWC_avg = mean(VWC_mean),
# VWC_sd = sd(VWC_mean)
# )
#twothree_tibble2
# running a correlation between abundance (x) and respiration (y)
library(ggpubr)
ggscatter(jcdataa, x = "AVG_ABUN", y = "AVG_RESP",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "abundance (total number)", ylab = "respiration (µmol smthng)")

# correlation between biomass (x) and respiration (Y)
ggscatter(jcdataa, x = "AVG_BIOMASS", y = "AVG_RESP",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "biomass (g)", ylab = "respiration (µmol smthng)")

# correlation between VWC (x) and respiration (y)
ggscatter(jcdataa, x = "AVG_VWC", y = "AVG_RESP",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "VWC (% moisture)", ylab = "respiration (µmol smthng)")

# correlation between rugosity and richness
ggscatter(jcdataa, x = "AVG_RUGOSITY", y = "AVG_RICH",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "rugosity", ylab = "richness")

# correlation between rugosity and abundance
ggscatter(jcdataa, x = "AVG_RUGOSITY", y = "AVG_ABUN",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "rugosity", ylab = "abundance")

######## Piecewise SEMs and confirmatory path analysis
#install.packages("performance")
#install.packages("see")
#install.packages("piecewiseSEM")
#install.packages("devtools")
#install.packages("fastmap")
library(performance) #model diagnostics
library(see) #model diagnostics
library(tidyr)
#library(devtools)
### was having problems installing pieecwiseSEM, but ultimately had to update R studio AND R, close out everything, reboot it, and try again. That ended up working. Need to completely shut down R and computer more often you scrappy dog coder you
#devtools::install_github("jslefche/piecewiseSEM")
library(piecewiseSEM)
## This is brandon's example data with a small model!
myData <- read.csv("~/Documents/VCU/thesis data/dummyData.csv")
##model selection and interpretation
#fit saturated SEM
mortSemSat <- psem(
lm(log(TopRug_v6) ~ Mortality_2018_20, data = myData),
lm(NPP_Mg_ha_yr ~ log(TopRug_v6) + Mortality_2018_20, data = myData)
)
#see results
summary(mortSemSat) #statistical result
##
## Structural Equation Model of mortSemSat
##
## Call:
## log(TopRug_v6) ~ Mortality_2018_20
## NPP_Mg_ha_yr ~ log(TopRug_v6) + Mortality_2018_20
##
## AIC
## 33.006
##
## ---
## Tests of directed separation:
##
## No independence claims present. Tests of directed separation not possible.
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 0 with P-value = 1 and on 0 degrees of freedom
## Fisher's C = NA with P-value = NA and on 0 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## log(TopRug_v6) Mortality_2018_20 11.2927 6.7004 6 1.6854 0.1429
## NPP_Mg_ha_yr log(TopRug_v6) -1.5680 0.7931 5 -1.9769 0.1050
## NPP_Mg_ha_yr Mortality_2018_20 -5.6309 15.8010 5 -0.3564 0.7361
## Std.Estimate
## 0.5668
## -0.6892
## -0.1242
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## TopRug_v6 none 0.32
## NPP_Mg_ha_yr none 0.59
AIC_psem(mortSemSat) #AICc
## AIC AICc K n
## 1 33.006 52.34 7 8
plot(x = mortSemSat, ns_dashed = TRUE, alpha = 0.15) #plot it
coefs(mortSemSat, standardize = "scale") #confirms standardization is by SD
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## 1 log(TopRug_v6) Mortality_2018_20 11.2927 6.7004 6 1.6854 0.1429
## 2 NPP_Mg_ha_yr log(TopRug_v6) -1.5680 0.7931 5 -1.9769 0.1050
## 3 NPP_Mg_ha_yr Mortality_2018_20 -5.6309 15.8010 5 -0.3564 0.7361
## Std.Estimate
## 1 0.5668
## 2 -0.6892
## 3 -0.1242
#fit reduced SEM
mortSemRed <- psem(
lm(log(TopRug_v6) ~ Mortality_2018_20, data = myData),
lm(NPP_Mg_ha_yr ~ log(TopRug_v6), data = myData)
)
#see results
summary(mortSemRed) #statistical result
## | | | 0% | |======================================================================| 100%
##
## Structural Equation Model of mortSemRed
##
## Call:
## log(TopRug_v6) ~ Mortality_2018_20
## NPP_Mg_ha_yr ~ log(TopRug_v6)
##
## AIC
## 31.207
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## NPP_Mg_ha_yr ~ Mortality_2018_20 + ... coef 5 -0.3564 0.7361
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 0.201 with P-value = 0.654 and on 1 degrees of freedom
## Fisher's C = 0.613 with P-value = 0.736 and on 2 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## log(TopRug_v6) Mortality_2018_20 11.2927 6.7004 6 1.6854 0.1429
## NPP_Mg_ha_yr log(TopRug_v6) -1.7282 0.6040 6 -2.8612 0.0288
## Std.Estimate
## 0.5668
## -0.7596 *
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## TopRug_v6 none 0.32
## NPP_Mg_ha_yr none 0.58
AIC_psem(mortSemRed) #AICc
## AIC AICc K n
## 1 31.207 43.207 6 8
plot(x = mortSemRed, ns_dashed = TRUE, alpha = 0.05) #plot it
LLchisq(mortSemRed)
## Chisq df P.Value
## 1 0.201 1 0.654
#plot model diagnostics/check parametric assumptions
mortCompMod1 <- lm(log(TopRug_v6) ~ Mortality_2018_20, data = myData)
mortCompMod2 <- lm(NPP_Mg_ha_yr ~ log(TopRug_v6), data = myData)
# x11()
performance::check_model(mortCompMod1, check = "all")

performance::check_model(mortCompMod2, check = "all")

#if unsure about normality, can formally test
shapiro.test(residuals.lm(mortCompMod1)) # if P>0.05 residuals normally distributed
##
## Shapiro-Wilk normality test
##
## data: residuals.lm(mortCompMod1)
## W = 0.94482, p-value = 0.659
library(tidyr)
library(piecewiseSEM)
library(readxl)
library(performance)
library(see)
jcdata <- read_excel("FoRTE_2023_arthropod_data.xlsx")
#jcdata <- na.omit(jcdataa)
#jcdata
hist(jcdata$severity)

# respiration_avg / AVG_RESP is somewhat right skewed, but mostly normal
# soilTemp_avg / AVG_TEMP is mostly normal
# VWC_mean / is very right skewed, AVG_VWC is normal
# hupie is not normally distributed
# abundance / AVG_ABUN is pretty normal, slightly right skewed
# biomass is not normal, severely right skewed / AVG_BIOMASS is ?? not super normal, strange, log transformation makes it more normal
# richness mostly normal, somewhat bimodal
# AVG_VAI slightly left skewed
# AVG_RUGOSITY not normal
# defining the models
rugosity_model <- lm(AVG_TEMP ~ AVG_RUGOSITY, jcdata)
biomass_response <- lm(AVG_BIOMASS ~ AVG_TEMP + AVG_RUGOSITY, jcdata)
resp_response <- lm(AVG_RESP ~ AVG_BIOMASS + AVG_TEMP, jcdata)
# trying an abbreviated piecewise with what I have
bugfluxSem <- psem(
rugosity_model,
biomass_response,
resp_response,
data = jcdata
)
# running the summary to find out AICc values and other parameters, coefs report predictor-response values that are also reported in the summary function.
bugfluxSem
## Structural Equations of x :
## lm: AVG_TEMP ~ AVG_RUGOSITY
## lm: AVG_BIOMASS ~ AVG_TEMP + AVG_RUGOSITY
## lm: AVG_RESP ~ AVG_BIOMASS + AVG_TEMP
##
## Data:
## subplotID site severity type type_dummy subplot_id_type subplot_dummy
## 1 A04E A 0 B 0 A0B A00
## 2 A04W A 0 T 1 A0T A01
## 3 A02W A 45 B 0 A45B A450
## 4 A02E A 45 T 1 A45T A451
## 5 A03E A 65 B 0 A65B A650
## 6 A03W A 65 T 1 A65T A651
## biomass_per_ha AVG_VAI AVG_RUGOSITY AVG_SKYFRAC AVG_ABUN std_err_abun
## 1 309579.4 6.431476 39.65135 8.214266 19.00000 2.483277
## 2 257168.2 7.648954 15.53001 1.086044 15.75000 6.142407
## 3 320636.5 5.127576 39.85983 19.204597 45.00000 6.442049
## 4 205876.1 6.299090 11.61582 9.639204 50.60000 9.785704
## 5 223389.3 5.049992 26.93748 17.314120 25.33333 6.984109
## 6 218171.0 5.428818 10.90470 16.442912 39.20000 6.959885
## AVG_BIOMASS std_err_biomass AVG_RESP std_err_resp AVG_TEMP std_err_temp
## 1 0.06350 0.01887039 6.629 3.0869639 15.35 0.4926967
## 2 0.04285 0.03315000 5.050 0.4623311 14.83 0.2300000
## 3 0.05864 0.01456395 3.509 0.4060400 15.38 0.5607138
## 4 0.07662 0.01692092 2.798 0.8635589 14.97 0.3023243
## 5 0.05340 0.01676872 4.784 0.5673324 14.59 0.3264966
## 6 0.06336 0.01583738 3.377 0.7675083 14.96 0.2420744
## AVG_VWC std_err_vwc AVG_HUPIE std_err_hupie AVG_RICH std_err_rich
## 1 5.4 0.6782330 0.8401740 0.03066203 8.000000 0.8164966
## 2 6.0 0.6324555 0.6922534 0.02931710 6.500000 1.5545632
## 3 6.2 1.1575837 0.5681778 0.04925484 9.200000 1.2000000
## 4 4.4 0.5099020 0.5312146 0.04386734 9.800000 0.6633250
## 5 5.4 0.5099020 0.6378205 0.08564431 7.666667 0.3333333
## 6 4.8 0.5830952 0.6728847 0.03875237 7.800000 1.3190906
## ...with 26 more rows
##
## [1] "class(psem)"
summary(bugfluxSem)
## | | | 0% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxSem
##
## Call:
## AVG_TEMP ~ AVG_RUGOSITY
## AVG_BIOMASS ~ AVG_TEMP + AVG_RUGOSITY
## AVG_RESP ~ AVG_BIOMASS + AVG_TEMP
##
## AIC
## 54.032
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_RESP ~ AVG_RUGOSITY + ... coef 28 1.0082 0.322
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 1.141 with P-value = 0.285 and on 1 degrees of freedom
## Fisher's C = 2.267 with P-value = 0.322 and on 2 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value Std.Estimate
## AVG_TEMP AVG_RUGOSITY -0.0007 0.0128 30 -0.0571 0.9548 -0.0104
## AVG_BIOMASS AVG_TEMP 0.0012 0.0079 29 0.1556 0.8774 0.0286
## AVG_BIOMASS AVG_RUGOSITY 0.0004 0.0006 29 0.7714 0.4467 0.1418
## AVG_RESP AVG_BIOMASS 5.7909 7.2185 29 0.8022 0.4289 0.1474
## AVG_RESP AVG_TEMP -0.0315 0.3092 29 -0.1017 0.9197 -0.0187
##
##
##
##
##
##
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_TEMP none 0.00
## AVG_BIOMASS none 0.02
## AVG_RESP none 0.02
coefs(bugfluxSem) #for some reason I have to code this in the console directly for it to work idk what I did for that to be the case but nonetheless
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## 1 AVG_TEMP AVG_RUGOSITY -0.0007 0.0128 30 -0.0571 0.9548
## 2 AVG_BIOMASS AVG_TEMP 0.0012 0.0079 29 0.1556 0.8774
## 3 AVG_BIOMASS AVG_RUGOSITY 0.0004 0.0006 29 0.7714 0.4467
## 4 AVG_RESP AVG_BIOMASS 5.7909 7.2185 29 0.8022 0.4289
## 5 AVG_RESP AVG_TEMP -0.0315 0.3092 29 -0.1017 0.9197
## Std.Estimate
## 1 -0.0104
## 2 0.0286
## 3 0.1418
## 4 0.1474
## 5 -0.0187
# independence claims for the abbreviated model
dsep1 <- lm(AVG_RESP ~ AVG_RUGOSITY + AVG_TEMP + AVG_BIOMASS, jcdata)
dsep2 <- lm(AVG_TEMP ~ AVG_BIOMASS + AVG_RUGOSITY, jcdata)
summary(dsep1)
##
## Call:
## lm(formula = AVG_RESP ~ AVG_RUGOSITY + AVG_TEMP + AVG_BIOMASS,
## data = jcdata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.59829 -0.79427 0.01188 0.57891 2.93454
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.97768 4.79368 0.830 0.414
## AVG_RUGOSITY 0.02201 0.02183 1.008 0.322
## AVG_TEMP -0.02696 0.30910 -0.087 0.931
## AVG_BIOMASS 4.74864 7.29010 0.651 0.520
##
## Residual standard error: 1.209 on 28 degrees of freedom
## Multiple R-squared: 0.05619, Adjusted R-squared: -0.04494
## F-statistic: 0.5556 on 3 and 28 DF, p-value: 0.6487
summary(dsep2)
##
## Call:
## lm(formula = AVG_TEMP ~ AVG_BIOMASS + AVG_RUGOSITY, data = jcdata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.04349 -0.49707 -0.05429 0.35114 1.72980
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.399040 0.341604 45.079 <2e-16 ***
## AVG_BIOMASS 0.681106 4.377795 0.156 0.877
## AVG_RUGOSITY -0.001018 0.013111 -0.078 0.939
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7266 on 29 degrees of freedom
## Multiple R-squared: 0.0009427, Adjusted R-squared: -0.06796
## F-statistic: 0.01368 on 2 and 29 DF, p-value: 0.9864
# The full saturated model, no VAI included because it is not informative in all the previous models I have run
bugfluxSemSat1 <- psem(
lm(AVG_SKYFRAC ~ severity, jcdata),
lm(AVG_RUGOSITY ~ severity, jcdata),
lm(AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_ABUN ~ AVG_VWC + AVG_TEMP+ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_BIOMASS ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_RICH ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
data = jcdata
)
summary(bugfluxSemSat1)
## | | | 0% | |====== | 9% | |============= | 18% | |=================== | 27% | |========================= | 36% | |================================ | 45% | |====================================== | 55% | |============================================= | 64% | |=================================================== | 73% | |========================================================= | 82% | |================================================================ | 91% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxSemSat1
##
## Call:
## AVG_SKYFRAC ~ severity
## AVG_RUGOSITY ~ severity
## AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_ABUN ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_BIOMASS ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_RICH ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
##
## AIC
## 1045.549
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_VWC ~ severity + ... coef 28 0.4650 0.6455
## AVG_TEMP ~ severity + ... coef 28 -0.7093 0.4840
## AVG_ABUN ~ severity + ... coef 26 -0.9766 0.3378
## AVG_BIOMASS ~ severity + ... coef 26 -0.4201 0.6778
## AVG_RICH ~ severity + ... coef 26 -0.5609 0.5797
## AVG_RESP ~ severity + ... coef 23 -3.0205 0.0061 **
## AVG_RUGOSITY ~ AVG_SKYFRAC + ... coef 29 -0.9024 0.3743
## AVG_TEMP ~ AVG_VWC + ... coef 28 -1.7521 0.0907
## AVG_BIOMASS ~ AVG_ABUN + ... coef 26 -0.0778 0.9386
## AVG_RICH ~ AVG_ABUN + ... coef 26 4.2930 0.0002 ***
## AVG_RICH ~ AVG_BIOMASS + ... coef 26 0.0246 0.9806
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 34.12 with P-value = 0 and on 11 degrees of freedom
## Fisher's C = 40.371 with P-value = 0.01 and on 22 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## AVG_SKYFRAC severity 0.2577 0.0678 30 3.7993 0.0007
## AVG_RUGOSITY severity -0.0167 0.0573 30 -0.2924 0.7720
## AVG_VWC AVG_RUGOSITY 0.0580 0.0164 29 3.5330 0.0014
## AVG_VWC AVG_SKYFRAC 0.0010 0.0114 29 0.0908 0.9283
## AVG_TEMP AVG_RUGOSITY -0.0010 0.0132 29 -0.0763 0.9397
## AVG_TEMP AVG_SKYFRAC -0.0012 0.0091 29 -0.1260 0.9006
## AVG_ABUN AVG_VWC -3.6123 2.9471 27 -1.2257 0.2309
## AVG_ABUN AVG_TEMP 1.3835 3.6778 27 0.3762 0.7097
## AVG_ABUN AVG_RUGOSITY -0.4796 0.3002 27 -1.5975 0.1218
## AVG_ABUN AVG_SKYFRAC 0.1145 0.1720 27 0.6659 0.5111
## AVG_BIOMASS AVG_VWC 0.0029 0.0066 27 0.4371 0.6655
## AVG_BIOMASS AVG_TEMP 0.0026 0.0083 27 0.3167 0.7539
## AVG_BIOMASS AVG_RUGOSITY 0.0004 0.0007 27 0.5743 0.5705
## AVG_BIOMASS AVG_SKYFRAC 0.0005 0.0004 27 1.4013 0.1725
## AVG_RICH AVG_VWC -0.7935 0.3825 27 -2.0742 0.0477
## AVG_RICH AVG_TEMP 0.6865 0.4774 27 1.4381 0.1619
## AVG_RICH AVG_RUGOSITY -0.0686 0.0390 27 -1.7609 0.0896
## AVG_RICH AVG_SKYFRAC 0.0249 0.0223 27 1.1173 0.2737
## AVG_RESP AVG_ABUN 0.0081 0.0217 24 0.3748 0.7111
## AVG_RESP AVG_RICH 0.0527 0.1670 24 0.3155 0.7551
## AVG_RESP AVG_BIOMASS 7.5144 7.3767 24 1.0187 0.3185
## AVG_RESP AVG_VWC 0.3882 0.2744 24 1.4151 0.1699
## AVG_RESP AVG_TEMP 0.0335 0.3322 24 0.1008 0.9205
## AVG_RESP AVG_RUGOSITY 0.0035 0.0276 24 0.1250 0.9015
## AVG_RESP AVG_SKYFRAC -0.0301 0.0157 24 -1.9191 0.0669
## Std.Estimate
## 0.5700 ***
## -0.0533
## 0.5546 **
## 0.0143
## -0.0144
## -0.0237
## -0.2507
## 0.0642
## -0.3180
## 0.1093
## 0.1012
## 0.0611
## 0.1294
## 0.2604
## -0.3641 *
## 0.2105
## -0.3009
## 0.1575
## 0.1041
## 0.1021
## 0.1912
## 0.3453
## 0.0199
## 0.0293
## -0.3679
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_SKYFRAC none 0.32
## AVG_RUGOSITY none 0.00
## AVG_VWC none 0.31
## AVG_TEMP none 0.00
## AVG_ABUN none 0.29
## AVG_BIOMASS none 0.09
## AVG_RICH none 0.48
## AVG_RESP none 0.23
plot(x = bugfluxSemSat1, ns_dashed = TRUE, alpha = 0.15)
# another saturated model, this time including severity as a continuous predictor of rugosity first and accounting for random effects from replicate and treatment (treatment nested within replicate)
#install.packages("nlme")
library(nlme)
bugfluxSemSat2 <- psem(
lme (AVG_RUGOSITY ~ severity, random = ~ 1 | site/type, jcdata),
lme (AVG_SKYFRAC ~ severity, random = ~ 1 | site/type, jcdata),
lme (AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_ABUN ~ AVG_VWC + AVG_TEMP+ AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_BIOMASS ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_RICH ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
data = jcdata
)
summary(bugfluxSemSat2)
## | | | 0% | |====== | 9% | |============= | 18% | |=================== | 27% | |========================= | 36% | |================================ | 45% | |====================================== | 55% | |============================================= | 64% | |=================================================== | 73% | |========================================================= | 82% | |================================================================ | 91% | |======================================================================| 100%
## Warning: Check model convergence: log-likelihood estimates lead to negative
## Chi-squared!
##
## Structural Equation Model of bugfluxSemSat2
##
## Call:
## AVG_RUGOSITY ~ severity
## AVG_SKYFRAC ~ severity
## AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_ABUN ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_BIOMASS ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_RICH ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
##
## AIC
## 1138.056
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_VWC ~ severity + ... coef 21 0.3916 0.6993
## AVG_TEMP ~ severity + ... coef 21 -0.9406 0.3576
## AVG_ABUN ~ severity + ... coef 19 -0.5812 0.5679
## AVG_BIOMASS ~ severity + ... coef 19 -1.0523 0.3058
## AVG_RICH ~ severity + ... coef 19 0.3425 0.7358
## AVG_RESP ~ severity + ... coef 16 -3.2127 0.0054 **
## AVG_SKYFRAC ~ AVG_RUGOSITY + ... coef 22 -0.0566 0.9553
## AVG_TEMP ~ AVG_VWC + ... coef 21 -1.2081 0.2404
## AVG_BIOMASS ~ AVG_ABUN + ... coef 19 0.5422 0.5940
## AVG_RICH ~ AVG_ABUN + ... coef 19 3.7114 0.0015 **
## AVG_RICH ~ AVG_BIOMASS + ... coef 19 0.5046 0.6196
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = NA with P-value = NA and on 11 degrees of freedom
## Fisher's C = 35.289 with P-value = 0.036 and on 22 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## AVG_RUGOSITY severity -0.0167 0.0336 23 -0.4978 0.6233
## AVG_SKYFRAC severity 0.2577 0.0629 23 4.0977 0.0004
## AVG_VWC AVG_RUGOSITY 0.0509 0.0190 22 2.6851 0.0135
## AVG_VWC AVG_SKYFRAC 0.0032 0.0099 22 0.3270 0.7467
## AVG_TEMP AVG_RUGOSITY 0.0091 0.0136 22 0.6703 0.5096
## AVG_TEMP AVG_SKYFRAC 0.0000 0.0080 22 0.0044 0.9965
## AVG_ABUN AVG_VWC -1.8662 2.8115 20 -0.6638 0.5144
## AVG_ABUN AVG_TEMP -1.0982 3.6538 20 -0.3006 0.7668
## AVG_ABUN AVG_RUGOSITY -0.1024 0.3108 20 -0.3294 0.7453
## AVG_ABUN AVG_SKYFRAC -0.0249 0.1550 20 -0.1604 0.8742
## AVG_BIOMASS AVG_VWC -0.0025 0.0065 20 -0.3803 0.7078
## AVG_BIOMASS AVG_TEMP -0.0038 0.0078 20 -0.4890 0.6302
## AVG_BIOMASS AVG_RUGOSITY 0.0007 0.0007 20 0.9738 0.3418
## AVG_BIOMASS AVG_SKYFRAC 0.0007 0.0003 20 2.0659 0.0520
## AVG_RICH AVG_VWC -0.2439 0.2969 20 -0.8215 0.4211
## AVG_RICH AVG_TEMP 0.4084 0.4114 20 0.9927 0.3327
## AVG_RICH AVG_RUGOSITY -0.0258 0.0320 20 -0.8068 0.4293
## AVG_RICH AVG_SKYFRAC -0.0031 0.0173 20 -0.1785 0.8601
## AVG_RESP AVG_ABUN 0.0057 0.0220 17 0.2584 0.7992
## AVG_RESP AVG_RICH 0.0568 0.1736 17 0.3273 0.7474
## AVG_RESP AVG_BIOMASS 8.1637 7.5063 17 1.0876 0.2920
## AVG_RESP AVG_VWC 0.3968 0.2722 17 1.4576 0.1632
## AVG_RESP AVG_TEMP 0.0217 0.3422 17 0.0634 0.9502
## AVG_RESP AVG_RUGOSITY 0.0062 0.0278 17 0.2227 0.8264
## AVG_RESP AVG_SKYFRAC -0.0310 0.0157 17 -1.9707 0.0653
## Std.Estimate
## -0.0533
## 0.5700 ***
## 0.4863 *
## 0.0446
## 0.1307
## 0.0007
## -0.1295
## -0.0509
## -0.0679
## -0.0237
## -0.0865
## -0.0892
## 0.2394
## 0.3354
## -0.1119
## 0.1252
## -0.1132
## -0.0194
## 0.0728
## 0.1101
## 0.2078
## 0.3529
## 0.0129
## 0.0525
## -0.3795
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method Marginal Conditional
## AVG_RUGOSITY none 0.00 0.68
## AVG_SKYFRAC none 0.31 0.43
## AVG_VWC none 0.23 0.52
## AVG_TEMP none 0.01 0.38
## AVG_ABUN none 0.03 0.49
## AVG_BIOMASS none 0.11 0.46
## AVG_RICH none 0.06 0.69
## AVG_RESP none 0.21 0.24
plot(bugfluxSemSat2, ns_dashed = TRUE, alpha = 0.15)
# one more saturated model because biomass instead of severity, no mixed effects needed
bugfluxSemSat3 <- psem(
lm(AVG_SKYFRAC ~ biomass_per_ha*severity, jcdata),
lm(AVG_RUGOSITY ~ biomass_per_ha*severity, jcdata),
lm(AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_ABUN ~ AVG_VWC + AVG_TEMP+ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_BIOMASS ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_RICH ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
data = jcdata
)
summary(bugfluxSemSat3)
## | | | 0% | |==== | 6% | |======== | 12% | |============ | 18% | |================ | 24% | |===================== | 29% | |========================= | 35% | |============================= | 41% | |================================= | 47% | |===================================== | 53% | |========================================= | 59% | |============================================= | 65% | |================================================= | 71% | |====================================================== | 76% | |========================================================== | 82% | |============================================================== | 88% | |================================================================== | 94% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxSemSat3
##
## Call:
## AVG_SKYFRAC ~ biomass_per_ha * severity
## AVG_RUGOSITY ~ biomass_per_ha * severity
## AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_ABUN ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_BIOMASS ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_RICH ~ AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
##
## AIC
## 1017.956
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_VWC ~ biomass_per_ha + ... coef 28 -1.0358 0.3092
## AVG_TEMP ~ biomass_per_ha + ... coef 28 0.0275 0.9783
## AVG_ABUN ~ biomass_per_ha + ... coef 26 -1.4600 0.1563
## AVG_BIOMASS ~ biomass_per_ha + ... coef 26 0.2579 0.7985
## AVG_RICH ~ biomass_per_ha + ... coef 26 -0.7718 0.4472
## AVG_RESP ~ biomass_per_ha + ... coef 23 -1.2339 0.2297
## AVG_VWC ~ severity + ... coef 28 0.4650 0.6455
## AVG_TEMP ~ severity + ... coef 28 -0.7093 0.4840
## AVG_ABUN ~ severity + ... coef 26 -0.9766 0.3378
## AVG_BIOMASS ~ severity + ... coef 26 -0.4201 0.6778
## AVG_RICH ~ severity + ... coef 26 -0.5609 0.5797
## AVG_RESP ~ severity + ... coef 23 -3.0205 0.0061 **
## AVG_RUGOSITY ~ AVG_SKYFRAC + ... coef 27 0.2886 0.7751
## AVG_TEMP ~ AVG_VWC + ... coef 28 -1.7521 0.0907
## AVG_BIOMASS ~ AVG_ABUN + ... coef 26 -0.0778 0.9386
## AVG_RICH ~ AVG_ABUN + ... coef 26 4.2930 0.0002 ***
## AVG_RICH ~ AVG_BIOMASS + ... coef 26 0.0246 0.9806
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 37.816 with P-value = 0.003 and on 17 degrees of freedom
## Fisher's C = 50.021 with P-value = 0.038 and on 34 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## AVG_SKYFRAC biomass_per_ha 0.0000 0.0001 28 -0.2730 0.7868
## AVG_SKYFRAC severity 0.3933 0.2561 28 1.5360 0.1358
## AVG_SKYFRAC biomass_per_ha:severity 0.0000 0.0000 28 -0.5328 0.5984
## AVG_RUGOSITY biomass_per_ha 0.0002 0.0000 28 4.8964 0.0000
## AVG_RUGOSITY severity 0.2285 0.1362 28 1.6775 0.1046
## AVG_RUGOSITY biomass_per_ha:severity 0.0000 0.0000 28 -1.9341 0.0633
## AVG_VWC AVG_RUGOSITY 0.0580 0.0164 29 3.5330 0.0014
## AVG_VWC AVG_SKYFRAC 0.0010 0.0114 29 0.0908 0.9283
## AVG_TEMP AVG_RUGOSITY -0.0010 0.0132 29 -0.0763 0.9397
## AVG_TEMP AVG_SKYFRAC -0.0012 0.0091 29 -0.1260 0.9006
## AVG_ABUN AVG_VWC -3.6123 2.9471 27 -1.2257 0.2309
## AVG_ABUN AVG_TEMP 1.3835 3.6778 27 0.3762 0.7097
## AVG_ABUN AVG_RUGOSITY -0.4796 0.3002 27 -1.5975 0.1218
## AVG_ABUN AVG_SKYFRAC 0.1145 0.1720 27 0.6659 0.5111
## AVG_BIOMASS AVG_VWC 0.0029 0.0066 27 0.4371 0.6655
## AVG_BIOMASS AVG_TEMP 0.0026 0.0083 27 0.3167 0.7539
## AVG_BIOMASS AVG_RUGOSITY 0.0004 0.0007 27 0.5743 0.5705
## AVG_BIOMASS AVG_SKYFRAC 0.0005 0.0004 27 1.4013 0.1725
## AVG_RICH AVG_VWC -0.7935 0.3825 27 -2.0742 0.0477
## AVG_RICH AVG_TEMP 0.6865 0.4774 27 1.4381 0.1619
## AVG_RICH AVG_RUGOSITY -0.0686 0.0390 27 -1.7609 0.0896
## AVG_RICH AVG_SKYFRAC 0.0249 0.0223 27 1.1173 0.2737
## AVG_RESP AVG_ABUN 0.0081 0.0217 24 0.3748 0.7111
## AVG_RESP AVG_RICH 0.0527 0.1670 24 0.3155 0.7551
## AVG_RESP AVG_BIOMASS 7.5144 7.3767 24 1.0187 0.3185
## AVG_RESP AVG_VWC 0.3882 0.2744 24 1.4151 0.1699
## AVG_RESP AVG_TEMP 0.0335 0.3322 24 0.1008 0.9205
## AVG_RESP AVG_RUGOSITY 0.0035 0.0276 24 0.1250 0.9015
## AVG_RESP AVG_SKYFRAC -0.0301 0.0157 24 -1.9191 0.0669
## Std.Estimate
## -0.0858
## 0.8699
## -0.3407
## 1.1782 ***
## 0.7274
## -0.9469
## 0.5546 **
## 0.0143
## -0.0144
## -0.0237
## -0.2507
## 0.0642
## -0.3180
## 0.1093
## 0.1012
## 0.0611
## 0.1294
## 0.2604
## -0.3641 *
## 0.2105
## -0.3009
## 0.1575
## 0.1041
## 0.1021
## 0.1912
## 0.3453
## 0.0199
## 0.0293
## -0.3679
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_SKYFRAC none 0.39
## AVG_RUGOSITY none 0.64
## AVG_VWC none 0.31
## AVG_TEMP none 0.00
## AVG_ABUN none 0.29
## AVG_BIOMASS none 0.09
## AVG_RICH none 0.48
## AVG_RESP none 0.23
plot(x = bugfluxSemSat3, ns_dashed = TRUE, alpha = 0.15)
###### reduced model from bugfluxSemSat1
bugfluxSemRed <- psem(
lm(AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_ABUN ~ AVG_VWC + AVG_RUGOSITY + AVG_TEMP, jcdata),
lm(AVG_BIOMASS ~ AVG_SKYFRAC, jcdata),
lm(AVG_RICH ~ AVG_VWC + AVG_RUGOSITY + AVG_TEMP, jcdata),
lm(AVG_RESP ~ AVG_SKYFRAC + AVG_VWC + AVG_ABUN + AVG_BIOMASS + AVG_RUGOSITY, jcdata),
data = jcdata
)
#see results
summary(bugfluxSemRed) #statistical result
## | | | 0% | |====== | 9% | |============= | 18% | |=================== | 27% | |========================= | 36% | |================================ | 45% | |====================================== | 55% | |============================================= | 64% | |=================================================== | 73% | |========================================================= | 82% | |================================================================ | 91% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxSemRed
##
## Call:
## AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_ABUN ~ AVG_VWC + AVG_RUGOSITY + AVG_TEMP
## AVG_BIOMASS ~ AVG_SKYFRAC
## AVG_RICH ~ AVG_VWC + AVG_RUGOSITY + AVG_TEMP
## AVG_RESP ~ AVG_SKYFRAC + AVG_VWC + AVG_ABUN + AVG_BIOMASS + AVG_RUGOSITY
##
## AIC
## 462.226
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_BIOMASS ~ AVG_RUGOSITY + ... coef 29 1.0259 0.3134
## AVG_ABUN ~ AVG_SKYFRAC + ... coef 27 0.6659 0.5111
## AVG_RICH ~ AVG_SKYFRAC + ... coef 27 1.1173 0.2737
## AVG_VWC ~ AVG_TEMP + ... coef 28 -1.7521 0.0907
## AVG_BIOMASS ~ AVG_TEMP + ... coef 29 0.1773 0.8605
## AVG_RESP ~ AVG_TEMP + ... coef 25 0.2031 0.8407
## AVG_BIOMASS ~ AVG_VWC + ... coef 28 0.3615 0.7205
## AVG_BIOMASS ~ AVG_ABUN + ... coef 26 -0.0778 0.9386
## AVG_RICH ~ AVG_ABUN + ... coef 27 4.4596 0.0001 ***
## AVG_RICH ~ AVG_BIOMASS + ... coef 26 0.0246 0.9806
## AVG_RESP ~ AVG_RICH + ... coef 24 0.3155 0.7551
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 24.056 with P-value = 0.013 and on 11 degrees of freedom
## Fisher's C = 30.981 with P-value = 0.097 and on 22 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value Std.Estimate
## AVG_VWC AVG_RUGOSITY 0.0580 0.0164 29 3.5330 0.0014 0.5546
## AVG_VWC AVG_SKYFRAC 0.0010 0.0114 29 0.0908 0.9283 0.0143
## AVG_ABUN AVG_VWC -3.5926 2.9175 28 -1.2314 0.2284 -0.2493
## AVG_ABUN AVG_RUGOSITY -0.5081 0.2942 28 -1.7273 0.0951 -0.3370
## AVG_ABUN AVG_TEMP 1.3368 3.6404 28 0.3672 0.7162 0.0620
## AVG_BIOMASS AVG_SKYFRAC 0.0005 0.0004 30 1.2932 0.2058 0.2298
## AVG_RICH AVG_VWC -0.7892 0.3842 28 -2.0541 0.0494 -0.3622
## AVG_RICH AVG_RUGOSITY -0.0748 0.0387 28 -1.9317 0.0636 -0.3282
## AVG_RICH AVG_TEMP 0.6764 0.4794 28 1.4108 0.1693 0.2074
## AVG_RESP AVG_SKYFRAC -0.0294 0.0149 26 -1.9754 0.0589 -0.3599
## AVG_RESP AVG_VWC 0.3470 0.2412 26 1.4389 0.1621 0.3086
## AVG_RESP AVG_ABUN 0.0128 0.0159 26 0.8017 0.4300 0.1637
## AVG_RESP AVG_BIOMASS 7.6498 7.0930 26 1.0785 0.2907 0.1947
## AVG_RESP AVG_RUGOSITY 0.0029 0.0258 26 0.1112 0.9123 0.0244
##
## **
##
##
##
##
##
## *
##
##
##
##
##
##
##
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_VWC none 0.31
## AVG_ABUN none 0.28
## AVG_BIOMASS none 0.05
## AVG_RICH none 0.45
## AVG_RESP none 0.23
AIC_psem(bugfluxSemRed) #AICc
## AIC AICc K n
## 1 462.226 473.847 24 32
LLchisq(bugfluxSemRed)
## Chisq df P.Value
## 1 24.056 11 0.013
plot(x = bugfluxSemRed, ns_dashed = TRUE, alpha = 0.15)
####### reduced model with nested random effects in model
bugfluxRedSat1 <- psem(
#lme (AVG_RUGOSITY ~ severity, random = ~ 1 | site/type, jcdata),
#lme (AVG_SKYFRAC ~ severity, random = ~ 1 | site/type, jcdata),
lme (AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
lme (AVG_ABUN ~ AVG_VWC + AVG_TEMP, random = ~ 1 | site/type, jcdata),
lme (AVG_BIOMASS ~ AVG_VWC + AVG_TEMP, random = ~ 1 | site/type, jcdata),
lme (AVG_RICH ~ AVG_VWC + AVG_TEMP, random = ~ 1 | site/type, jcdata),
lme (AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC, random = ~ 1 | site/type, jcdata),
data = jcdata
)
summary(bugfluxRedSat1)
## | | | 0% | |======= | 10% | |============== | 20% | |===================== | 30% | |============================ | 40% | |=================================== | 50% | |========================================== | 60% | |================================================= | 70% | |======================================================== | 80% | |=============================================================== | 90% | |======================================================================| 100%
## Warning: Check model convergence: log-likelihood estimates lead to negative
## Chi-squared!
##
## Structural Equation Model of bugfluxRedSat1
##
## Call:
## AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_ABUN ~ AVG_VWC + AVG_TEMP
## AVG_BIOMASS ~ AVG_VWC + AVG_TEMP
## AVG_RICH ~ AVG_VWC + AVG_TEMP
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP + AVG_RUGOSITY + AVG_SKYFRAC
##
## AIC
## 602.263
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_ABUN ~ AVG_RUGOSITY + ... coef 21 -0.3304 0.7444
## AVG_BIOMASS ~ AVG_RUGOSITY + ... coef 21 0.7640 0.4533
## AVG_RICH ~ AVG_RUGOSITY + ... coef 21 -0.8182 0.4224
## AVG_ABUN ~ AVG_SKYFRAC + ... coef 21 -0.1559 0.8776
## AVG_BIOMASS ~ AVG_SKYFRAC + ... coef 21 2.0360 0.0546
## AVG_RICH ~ AVG_SKYFRAC + ... coef 21 -0.2043 0.8401
## AVG_TEMP ~ AVG_VWC + ... coef 21 -1.2081 0.2404
## AVG_BIOMASS ~ AVG_ABUN + ... coef 21 0.3105 0.7592
## AVG_RICH ~ AVG_ABUN + ... coef 21 3.7738 0.0011 **
## AVG_RICH ~ AVG_BIOMASS + ... coef 21 0.4375 0.6663
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = NA with P-value = NA and on 10 degrees of freedom
## Fisher's C = 28.135 with P-value = 0.106 and on 20 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value Std.Estimate
## AVG_VWC AVG_RUGOSITY 0.0509 0.0190 22 2.6851 0.0135 0.4863
## AVG_VWC AVG_SKYFRAC 0.0032 0.0099 22 0.3270 0.7467 0.0446
## AVG_TEMP AVG_RUGOSITY 0.0091 0.0136 22 0.6703 0.5096 0.1307
## AVG_TEMP AVG_SKYFRAC 0.0000 0.0080 22 0.0044 0.9965 0.0007
## AVG_ABUN AVG_VWC -1.7396 2.4819 22 -0.7009 0.4907 -0.1207
## AVG_ABUN AVG_TEMP -1.3223 3.4745 22 -0.3806 0.7072 -0.0613
## AVG_BIOMASS AVG_VWC 0.0018 0.0059 22 0.3053 0.7630 0.0633
## AVG_BIOMASS AVG_TEMP -0.0016 0.0082 22 -0.1964 0.8461 -0.0374
## AVG_RICH AVG_VWC -0.3150 0.2703 22 -1.1656 0.2563 -0.1446
## AVG_RICH AVG_TEMP 0.3341 0.3908 22 0.8551 0.4017 0.1025
## AVG_RESP AVG_ABUN 0.0057 0.0220 17 0.2584 0.7992 0.0728
## AVG_RESP AVG_RICH 0.0568 0.1736 17 0.3273 0.7474 0.1101
## AVG_RESP AVG_BIOMASS 8.1637 7.5063 17 1.0876 0.2920 0.2078
## AVG_RESP AVG_VWC 0.3968 0.2722 17 1.4576 0.1632 0.3529
## AVG_RESP AVG_TEMP 0.0217 0.3422 17 0.0634 0.9502 0.0129
## AVG_RESP AVG_RUGOSITY 0.0062 0.0278 17 0.2227 0.8264 0.0525
## AVG_RESP AVG_SKYFRAC -0.0310 0.0157 17 -1.9707 0.0653 -0.3795
##
## *
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method Marginal Conditional
## AVG_VWC none 0.23 0.52
## AVG_TEMP none 0.01 0.38
## AVG_ABUN none 0.01 0.52
## AVG_BIOMASS none 0.01 0.26
## AVG_RICH none 0.04 0.72
## AVG_RESP none 0.21 0.24
plot(bugfluxRedSat1, ns_dashed = TRUE, alpha = 0.15)
#### reducing the model from bugfluxSemSat3
bugfluxRed <- psem(
lm(AVG_SKYFRAC ~ biomass_per_ha*severity, jcdata),
lm(AVG_RUGOSITY ~ biomass_per_ha*severity, jcdata),
lm(AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC, jcdata),
lm(AVG_ABUN ~ AVG_VWC + AVG_TEMP, jcdata),
lm(AVG_BIOMASS ~ AVG_VWC + AVG_TEMP, jcdata),
lm(AVG_RICH ~ AVG_VWC + AVG_TEMP, jcdata),
lm(AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP, jcdata),
data = jcdata
)
summary(bugfluxRed)
## | | | 0% | |=== | 4% | |====== | 8% | |======== | 12% | |=========== | 16% | |============== | 20% | |================= | 24% | |==================== | 28% | |====================== | 32% | |========================= | 36% | |============================ | 40% | |=============================== | 44% | |================================== | 48% | |==================================== | 52% | |======================================= | 56% | |========================================== | 60% | |============================================= | 64% | |================================================ | 68% | |================================================== | 72% | |===================================================== | 76% | |======================================================== | 80% | |=========================================================== | 84% | |============================================================== | 88% | |================================================================ | 92% | |=================================================================== | 96% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxRed
##
## Call:
## AVG_SKYFRAC ~ biomass_per_ha * severity
## AVG_RUGOSITY ~ biomass_per_ha * severity
## AVG_VWC ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_TEMP ~ AVG_RUGOSITY + AVG_SKYFRAC
## AVG_ABUN ~ AVG_VWC + AVG_TEMP
## AVG_BIOMASS ~ AVG_VWC + AVG_TEMP
## AVG_RICH ~ AVG_VWC + AVG_TEMP
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP
##
## AIC
## 1018.241
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_VWC ~ biomass_per_ha + ... coef 28 -1.0358 0.3092
## AVG_TEMP ~ biomass_per_ha + ... coef 28 0.0275 0.9783
## AVG_ABUN ~ biomass_per_ha + ... coef 28 -2.4035 0.0231 *
## AVG_BIOMASS ~ biomass_per_ha + ... coef 28 0.3237 0.7485
## AVG_RICH ~ biomass_per_ha + ... coef 28 -2.0664 0.0482 *
## AVG_RESP ~ biomass_per_ha + ... coef 25 -0.4702 0.6423
## AVG_VWC ~ severity + ... coef 28 0.4650 0.6455
## AVG_TEMP ~ severity + ... coef 28 -0.7093 0.4840
## AVG_ABUN ~ severity + ... coef 28 -0.2872 0.7761
## AVG_BIOMASS ~ severity + ... coef 28 0.4159 0.6806
## AVG_RICH ~ severity + ... coef 28 0.2904 0.7736
## AVG_RESP ~ severity + ... coef 25 -3.9237 0.0006 ***
## AVG_RUGOSITY ~ AVG_SKYFRAC + ... coef 27 0.2886 0.7751
## AVG_ABUN ~ AVG_SKYFRAC + ... coef 25 1.2794 0.2125
## AVG_BIOMASS ~ AVG_SKYFRAC + ... coef 25 1.6715 0.1071
## AVG_RICH ~ AVG_SKYFRAC + ... coef 25 1.0810 0.2900
## AVG_RESP ~ AVG_SKYFRAC + ... coef 22 -0.2398 0.8127
## AVG_ABUN ~ AVG_RUGOSITY + ... coef 25 0.3592 0.7225
## AVG_BIOMASS ~ AVG_RUGOSITY + ... coef 25 0.4383 0.6650
## AVG_RICH ~ AVG_RUGOSITY + ... coef 25 -0.4169 0.6803
## AVG_RESP ~ AVG_RUGOSITY + ... coef 22 0.4951 0.6254
## AVG_TEMP ~ AVG_VWC + ... coef 28 -1.7521 0.0907
## AVG_BIOMASS ~ AVG_ABUN + ... coef 28 -0.0223 0.9824
## AVG_RICH ~ AVG_ABUN + ... coef 28 5.0165 0.0000 ***
## AVG_RICH ~ AVG_BIOMASS + ... coef 28 0.1668 0.8687
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 70.084 with P-value = 0 and on 29 degrees of freedom
## Fisher's C = 76.738 with P-value = 0.009 and on 50 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## AVG_SKYFRAC biomass_per_ha 0.0000 0.0001 28 -0.2730 0.7868
## AVG_SKYFRAC severity 0.3933 0.2561 28 1.5360 0.1358
## AVG_SKYFRAC biomass_per_ha:severity 0.0000 0.0000 28 -0.5328 0.5984
## AVG_RUGOSITY biomass_per_ha 0.0002 0.0000 28 4.8964 0.0000
## AVG_RUGOSITY severity 0.2285 0.1362 28 1.6775 0.1046
## AVG_RUGOSITY biomass_per_ha:severity 0.0000 0.0000 28 -1.9341 0.0633
## AVG_VWC AVG_RUGOSITY 0.0580 0.0164 29 3.5330 0.0014
## AVG_VWC AVG_SKYFRAC 0.0010 0.0114 29 0.0908 0.9283
## AVG_TEMP AVG_RUGOSITY -0.0010 0.0132 29 -0.0763 0.9397
## AVG_TEMP AVG_SKYFRAC -0.0012 0.0091 29 -0.1260 0.9006
## AVG_ABUN AVG_VWC -6.4667 2.4772 29 -2.6105 0.0142
## AVG_ABUN AVG_TEMP 0.2598 3.7072 29 0.0701 0.9446
## AVG_BIOMASS AVG_VWC 0.0044 0.0055 29 0.8104 0.4243
## AVG_BIOMASS AVG_TEMP 0.0029 0.0082 29 0.3595 0.7218
## AVG_RICH AVG_VWC -1.2125 0.3301 29 -3.6727 0.0010
## AVG_RICH AVG_TEMP 0.5177 0.4941 29 1.0479 0.3033
## AVG_RESP AVG_ABUN 0.0077 0.0223 26 0.3464 0.7318
## AVG_RESP AVG_RICH -0.0076 0.1673 26 -0.0456 0.9640
## AVG_RESP AVG_BIOMASS 4.0975 7.3489 26 0.5576 0.5819
## AVG_RESP AVG_VWC 0.3843 0.2635 26 1.4582 0.1567
## AVG_RESP AVG_TEMP 0.1103 0.3335 26 0.3308 0.7434
## Std.Estimate
## -0.0858
## 0.8699
## -0.3407
## 1.1782 ***
## 0.7274
## -0.9469
## 0.5546 **
## 0.0143
## -0.0144
## -0.0237
## -0.4488 *
## 0.0120
## 0.1544
## 0.0685
## -0.5564 ***
## 0.1588
## 0.0989
## -0.0148
## 0.1043
## 0.3418
## 0.0656
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_SKYFRAC none 0.39
## AVG_RUGOSITY none 0.64
## AVG_VWC none 0.31
## AVG_TEMP none 0.00
## AVG_ABUN none 0.20
## AVG_BIOMASS none 0.02
## AVG_RICH none 0.38
## AVG_RESP none 0.11
plot(x = bugfluxRed, ns_dashed = TRUE, alpha = 0.15)
#### reducing the model from bugfluxSemSat3 even more
bugfluxRed2 <- psem(
lm(AVG_RUGOSITY ~ biomass_per_ha*severity, jcdata),
lm(AVG_VWC ~ AVG_RUGOSITY, jcdata),
lm(AVG_TEMP ~ AVG_RUGOSITY, jcdata),
lm(AVG_ABUN ~ AVG_VWC + AVG_TEMP, jcdata),
lm(AVG_BIOMASS ~ AVG_VWC + AVG_TEMP, jcdata),
lm(AVG_RICH ~ AVG_VWC + AVG_TEMP, jcdata),
lm(AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP, jcdata),
data = jcdata
)
summary(bugfluxRed2)
## | | | 0% | |==== | 5% | |======= | 10% | |========== | 15% | |============== | 20% | |================== | 25% | |===================== | 30% | |======================== | 35% | |============================ | 40% | |================================ | 45% | |=================================== | 50% | |====================================== | 55% | |========================================== | 60% | |============================================== | 65% | |================================================= | 70% | |==================================================== | 75% | |======================================================== | 80% | |============================================================ | 85% | |=============================================================== | 90% | |================================================================== | 95% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxRed2
##
## Call:
## AVG_RUGOSITY ~ biomass_per_ha * severity
## AVG_VWC ~ AVG_RUGOSITY
## AVG_TEMP ~ AVG_RUGOSITY
## AVG_ABUN ~ AVG_VWC + AVG_TEMP
## AVG_BIOMASS ~ AVG_VWC + AVG_TEMP
## AVG_RICH ~ AVG_VWC + AVG_TEMP
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS + AVG_VWC + AVG_TEMP
##
## AIC
## 759.039
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_VWC ~ biomass_per_ha + ... coef 29 -1.0570 0.2993
## AVG_TEMP ~ biomass_per_ha + ... coef 29 0.0446 0.9648
## AVG_ABUN ~ biomass_per_ha + ... coef 28 -2.4035 0.0231 *
## AVG_BIOMASS ~ biomass_per_ha + ... coef 28 0.3237 0.7485
## AVG_RICH ~ biomass_per_ha + ... coef 28 -2.0664 0.0482 *
## AVG_RESP ~ biomass_per_ha + ... coef 25 -0.4702 0.6423
## AVG_VWC ~ severity + ... coef 29 0.4405 0.6628
## AVG_TEMP ~ severity + ... coef 29 -0.6645 0.5116
## AVG_ABUN ~ severity + ... coef 28 -0.2872 0.7761
## AVG_BIOMASS ~ severity + ... coef 28 0.4159 0.6806
## AVG_RICH ~ severity + ... coef 28 0.2904 0.7736
## AVG_RESP ~ severity + ... coef 25 -3.9237 0.0006 ***
## AVG_ABUN ~ AVG_RUGOSITY + ... coef 25 0.3592 0.7225
## AVG_BIOMASS ~ AVG_RUGOSITY + ... coef 25 0.4383 0.6650
## AVG_RICH ~ AVG_RUGOSITY + ... coef 25 -0.4169 0.6803
## AVG_RESP ~ AVG_RUGOSITY + ... coef 22 0.4951 0.6254
## AVG_TEMP ~ AVG_VWC + ... coef 29 -1.7848 0.0848
## AVG_BIOMASS ~ AVG_ABUN + ... coef 28 -0.0223 0.9824
## AVG_RICH ~ AVG_ABUN + ... coef 28 5.0165 0.0000 ***
## AVG_RICH ~ AVG_BIOMASS + ... coef 28 0.1668 0.8687
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 63.385 with P-value = 0 and on 24 degrees of freedom
## Fisher's C = 65.837 with P-value = 0.006 and on 40 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value
## AVG_RUGOSITY biomass_per_ha 0.0002 0.0000 28 4.8964 0.0000
## AVG_RUGOSITY severity 0.2285 0.1362 28 1.6775 0.1046
## AVG_RUGOSITY biomass_per_ha:severity 0.0000 0.0000 28 -1.9341 0.0633
## AVG_VWC AVG_RUGOSITY 0.0578 0.0159 30 3.6279 0.0010
## AVG_TEMP AVG_RUGOSITY -0.0007 0.0128 30 -0.0571 0.9548
## AVG_ABUN AVG_VWC -6.4667 2.4772 29 -2.6105 0.0142
## AVG_ABUN AVG_TEMP 0.2598 3.7072 29 0.0701 0.9446
## AVG_BIOMASS AVG_VWC 0.0044 0.0055 29 0.8104 0.4243
## AVG_BIOMASS AVG_TEMP 0.0029 0.0082 29 0.3595 0.7218
## AVG_RICH AVG_VWC -1.2125 0.3301 29 -3.6727 0.0010
## AVG_RICH AVG_TEMP 0.5177 0.4941 29 1.0479 0.3033
## AVG_RESP AVG_ABUN 0.0077 0.0223 26 0.3464 0.7318
## AVG_RESP AVG_RICH -0.0076 0.1673 26 -0.0456 0.9640
## AVG_RESP AVG_BIOMASS 4.0975 7.3489 26 0.5576 0.5819
## AVG_RESP AVG_VWC 0.3843 0.2635 26 1.4582 0.1567
## AVG_RESP AVG_TEMP 0.1103 0.3335 26 0.3308 0.7434
## Std.Estimate
## 1.1782 ***
## 0.7274
## -0.9469
## 0.5522 **
## -0.0104
## -0.4488 *
## 0.0120
## 0.1544
## 0.0685
## -0.5564 ***
## 0.1588
## 0.0989
## -0.0148
## 0.1043
## 0.3418
## 0.0656
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_RUGOSITY none 0.64
## AVG_VWC none 0.30
## AVG_TEMP none 0.00
## AVG_ABUN none 0.20
## AVG_BIOMASS none 0.02
## AVG_RICH none 0.38
## AVG_RESP none 0.11
plot(x = bugfluxRed2, ns_dashed = TRUE, alpha = 0.15)
###### reducing the model from bugfluxSemSat1 even more
bugfluxSemRed2 <- psem(
lm(AVG_VWC ~ AVG_RUGOSITY, jcdata),
lm(AVG_ABUN ~ AVG_VWC, jcdata),
lm(AVG_RICH ~ AVG_VWC, jcdata),
lm(AVG_BIOMASS ~ AVG_VWC, jcdata),
lm(AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS, jcdata),
data = jcdata
)
#see results
summary(bugfluxSemRed2) #statistical result
## | | | 0% | |========= | 12% | |================== | 25% | |========================== | 38% | |=================================== | 50% | |============================================ | 62% | |==================================================== | 75% | |============================================================= | 88% | |======================================================================| 100%
##
## Structural Equation Model of bugfluxSemRed2
##
## Call:
## AVG_VWC ~ AVG_RUGOSITY
## AVG_ABUN ~ AVG_VWC
## AVG_RICH ~ AVG_VWC
## AVG_BIOMASS ~ AVG_VWC
## AVG_RESP ~ AVG_ABUN + AVG_RICH + AVG_BIOMASS
##
## AIC
## 464.842
##
## ---
## Tests of directed separation:
##
## Independ.Claim Test.Type DF Crit.Value P.Value
## AVG_ABUN ~ AVG_RUGOSITY + ... coef 29 -1.7151 0.0970
## AVG_RICH ~ AVG_RUGOSITY + ... coef 29 -1.6868 0.1024
## AVG_BIOMASS ~ AVG_RUGOSITY + ... coef 29 0.4339 0.6675
## AVG_RESP ~ AVG_RUGOSITY + ... coef 27 0.8076 0.4264
## AVG_RESP ~ AVG_VWC + ... coef 26 1.2269 0.2309
## AVG_RICH ~ AVG_ABUN + ... coef 29 4.9638 0.0000 ***
## AVG_BIOMASS ~ AVG_ABUN + ... coef 29 -0.0180 0.9858
## AVG_BIOMASS ~ AVG_RICH + ... coef 29 0.2350 0.8159
##
## --
## Global goodness-of-fit:
##
## Chi-Squared = 26.308 with P-value = 0.001 and on 8 degrees of freedom
## Fisher's C = 36.069 with P-value = 0.003 and on 16 degrees of freedom
##
## ---
## Coefficients:
##
## Response Predictor Estimate Std.Error DF Crit.Value P.Value Std.Estimate
## AVG_VWC AVG_RUGOSITY 0.0578 0.0159 30 3.6279 0.0010 0.5522
## AVG_ABUN AVG_VWC -6.5132 2.3466 30 -2.7756 0.0094 -0.4520
## AVG_RICH AVG_VWC -1.3052 0.3186 30 -4.0970 0.0003 -0.5990
## AVG_BIOMASS AVG_VWC 0.0039 0.0052 30 0.7521 0.4578 0.1360
## AVG_RESP AVG_ABUN 0.0067 0.0221 28 0.3057 0.7621 0.0864
## AVG_RESP AVG_RICH -0.0970 0.1457 28 -0.6660 0.5108 -0.1880
## AVG_RESP AVG_BIOMASS 5.6432 7.2911 28 0.7740 0.4454 0.1436
##
## **
## **
## ***
##
##
##
##
##
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05
##
## ---
## Individual R-squared:
##
## Response method R.squared
## AVG_VWC none 0.30
## AVG_ABUN none 0.20
## AVG_RICH none 0.36
## AVG_BIOMASS none 0.02
## AVG_RESP none 0.04
AIC_psem(bugfluxSemRed2) #AICc
## AIC AICc K n
## 1 464.842 470.578 17 32
LLchisq(bugfluxSemRed2)
## Chisq df P.Value
## 1 26.308 8 0.001
# plotting reduced model with alpha of 0.05
plot(x = bugfluxSemRed2, ns_dashed = TRUE, alpha = 0.05)
### running the checks that brandon had in his code with the reduced model ###
# setting up each lm as an individual model to check
bugModel1 <- lm(AVG_VWC ~ AVG_RUGOSITY, data = jcdata)
bugModel2 <- lm(AVG_ABUN ~ AVG_VWC + AVG_RUGOSITY, data = jcdata)
bugModel3 <- lm(AVG_BIOMASS ~ AVG_VWC + AVG_RUGOSITY, data = jcdata)
bugModel4 <- lm(AVG_RESP ~ AVG_TEMP + AVG_VWC + AVG_ABUN, data = jcdata)
# performance checks, I think finds C value and AICc
performance::check_model(bugModel1, check = "all")

performance::check_model(bugModel2, check = "all")

performance::check_model(bugModel3, check = "all")

performance::check_model(bugModel4, check = "all")
