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")