Actually, they collected a few more environmental variables. I didn’t include them all in the example, because I thought it would be too scary.
Concerning unmeasured covariates, soil temperature and soil moisture are likely influenced by temperature and precipitation, which they did not record. The pairwise correlation between “soil_moist” and “soil_temp” across all habitat plots is -0.42 which I thought was low enough to include them both in the model. The soil type is the same across all habitats.
Here’s the “multiverse of madness”-like DAG.
library(dagitty)
g <- dagitty("dag{
Habitat -> pH -> Germination
Habitat -> Soil_temp -> Germination
Habitat -> Soil_moist -> Germination
Habitat -> Phosphorus -> Germination
Habitat -> Potassium -> Germination
Temperature->Soil_temp
Temperature->Soil_moist
Precipitation->Soil_temp
Precipitation->Soil_moist
Habitat -> G
Site -> G
}")
impliedConditionalIndependencies(g)
G _||_ Grmn | Phsp, Ptss, Sl_m, Sl_t, pH
G _||_ Grmn | Hbtt
G _||_ Phsp | Hbtt
G _||_ Ptss | Hbtt
G _||_ Prcp
G _||_ Sl_m | Hbtt
G _||_ Sl_t | Hbtt
G _||_ Tmpr
G _||_ pH | Hbtt
Grmn _||_ Hbtt | Phsp, Ptss, Sl_m, Sl_t, pH
Grmn _||_ Prcp | Hbtt, Sl_m, Sl_t
Grmn _||_ Prcp | Phsp, Ptss, Sl_m, Sl_t, pH
Grmn _||_ Site
Grmn _||_ Tmpr | Hbtt, Sl_m, Sl_t
Grmn _||_ Tmpr | Phsp, Ptss, Sl_m, Sl_t, pH
Hbtt _||_ Prcp
Hbtt _||_ Site
Hbtt _||_ Tmpr
Phsp _||_ Ptss | Hbtt
Phsp _||_ Prcp
Phsp _||_ Site
Phsp _||_ Sl_m | Hbtt
Phsp _||_ Sl_t | Hbtt
Phsp _||_ Tmpr
Phsp _||_ pH | Hbtt
Ptss _||_ Prcp
Ptss _||_ Site
Ptss _||_ Sl_m | Hbtt
Ptss _||_ Sl_t | Hbtt
Ptss _||_ Tmpr
Ptss _||_ pH | Hbtt
Prcp _||_ Site
Prcp _||_ Tmpr
Prcp _||_ pH
Site _||_ Sl_m
Site _||_ Sl_t
Site _||_ Tmpr
Site _||_ pH
Sl_m _||_ Sl_t | Hbtt, Prcp, Tmpr
Sl_m _||_ pH | Hbtt
Sl_t _||_ pH | Hbtt
Tmpr _||_ pH
plot(g)
