Version 2 is a major update to the piecewiseSEM package that uses a completely revised syntax that better reproduces the base R syntax and output. It is highly recommended that consult the resource above even if you have used the package before as it documents the many changes.
Currently supported model classes: lm, glm, gls, Sarlm, lme, glmmPQL, lmerMod, merModLmerTest, glmerMod. glmmTMB, gam
Example
# Load library
library(piecewiseSEM)
# Create fake data
set.seed(1)
data <- data.frame(
x = runif(100),
y1 = runif(100),
y2 = rpois(100, 1),
y3 = runif(100)
)
# Create SEM using `psem`
modelList <- psem(
lm(y1 ~ x, data),
glm(y2 ~ x, "poisson", data),
lm(y3 ~ y1 + y2, data),
data
)
# Run summary
summary(modelList)
# Address conflict using conserve = T
summary(modelList, conserve = T)
# Address conflict using direction = c()
summary(modelList, direction = c("y2 <- y1"))
# Address conflict using correlated errors
modelList2 <- update(modelList, y2 %~~% y1)
summary(modelList2)