library(tidyverse)
library(circumplex)
library(lavaan)
library(correlation)
jz2017
rmat <- 
  correlation(
    data = select(jz2017, PARPD),
    data2 = select(jz2017, PA:NO),
    method = "Pearson"
  )
print_md(rmat, digits = 3)
model <- '
PA ~~ BC + DE + FG + HI + JK + LM + NO
BC ~~ DE + FG + HI + JK + LM + NO
DE ~~ FG + HI + JK + LM + NO
FG ~~ HI + JK + LM + NO
HI ~~ JK + LM + NO
JK ~~ LM + NO
LM ~~ NO

PA ~ m1*1
BC ~ m2*1
DE ~ m3*1
FG ~ m4*1
HI ~ m5*1
JK ~ m6*1
LM ~ m7*1
NO ~ m8*1

PARPD ~~ s1*PA + s2*BC + s3*DE + s4*FG + s5*HI + s6*JK + s7*LM + s8*NO

elev := mean(c(s1, s2, s3, s4, s5, s6, s7, s8))
xval := 0.25 * sum(s2*-0.7071068 - s3 + s4*-0.7071068 + s6*0.7071068 + s7 + s8*0.7071068)
yval := 0.25 * sum(s1 + s2*0.7071068 + s4*-0.7071068 - s5 + s6*-0.7071068 + s8*0.7071068)
ampl := sqrt(xval^2 + yval^2)
disp := atan2(yval, xval) * 57.29578
'

fit <- sem(model, data = jz2017, std.ov = TRUE, parameterization = "delta")
summary(fit)
fit2 <- 
  ssm_analyze(
    .data = jz2017,
    angles = octants(),
    scales = PA:NO,
    measures = PARPD
  )
fit2


jmgirard/ssm documentation built on Aug. 30, 2023, 6:51 p.m.