semnova

Vignette Author

2020-06-18

Using the semnova() function

This is a simple example how to use semnova() function.

library(semnova)

set.seed(323412431)

data("semnova_test_data", package = "semnova")

idata <- expand.grid(A = c("A1", "A2", "A3"), B = c("B1", "B2"))

mmodel <- create_mmodel(
    A1B1 = "var1",
    A2B1 = "var2",
    A3B1 = "var3",
    A1B2 = "var4",
    A2B2 = "var5",
    A3B2 = "var6",
    lv_scaling = "referent"
)

fit_semnova <-
    semnova(
        formula = cbind(A1B1, A2B1, A3B1, A1B2, A2B2, A3B2) ~ 1,
        data = semnova_test_data,
        idata = idata,
        idesign = ~ A * B,
        mmodel = mmodel
    )

summary(fit_semnova)
#> ------------------------------------------
#> 
#> term: (Intercept)
#> 
#> Response transformation matrix:
#>       (Intercept)
#> A1.B1     0.40825
#> A2.B1     0.40825
#> A3.B1     0.40825
#> A1.B2     0.40825
#> A2.B2     0.40825
#> A3.B2     0.40825
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   1   0.09447 0.094467      1     99 0.7592
#> Wilks  1   0.99906 0.093522      1     99 0.7604
#> 
#> univ. test:
#>         Sum Sq num Df Error SS den Df F value Pr(>F)
#> F-test 0.30923      1   327.35     99  0.0935 0.7604
#> 
#> ------------------------------------------
#> 
#> term: A
#> 
#> Response transformation matrix:
#>         A1       A2
#> A1.B1 -0.5  0.28868
#> A2.B1  0.0 -0.57735
#> A3.B1  0.5  0.28868
#> A1.B2 -0.5  0.28868
#> A2.B2  0.0 -0.57735
#> A3.B2  0.5  0.28868
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   2    3.4527   1.7264      2    198 0.1806
#> Wilks  1    0.9666   1.6919      2     98 0.1895
#> 
#> univ. test:
#>        Sum Sq num Df Error SS den Df F value Pr(>F)
#> F-test  1.628      2   94.479    198  1.7059 0.1843
#> 
#> ------------------------------------------
#> 
#> term: B
#> 
#> Response transformation matrix:
#>             B1
#> A1.B1 -0.40825
#> A2.B1 -0.40825
#> A3.B1 -0.40825
#> A1.B2  0.40825
#> A2.B2  0.40825
#> A3.B2  0.40825
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   1   0.26776  0.26776      1     99 0.6060
#> Wilks  1   0.99733  0.26509      1     99 0.6078
#> 
#> univ. test:
#>         Sum Sq num Df Error SS den Df F value Pr(>F)
#> F-test 0.15035      1   56.151     99  0.2651 0.6078
#> 
#> ------------------------------------------
#> 
#> term: A:B
#> 
#> Response transformation matrix:
#>       A1:B1    A2:B1
#> A1.B1   0.5 -0.28868
#> A2.B1   0.0  0.57735
#> A3.B1  -0.5 -0.28868
#> A1.B2  -0.5  0.28868
#> A2.B2   0.0 -0.57735
#> A3.B2   0.5  0.28868
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   2   1.05674  0.52837      2    198 0.5904
#> Wilks  1   0.98954  0.51780      2     98 0.5974
#> 
#> univ. test:
#>        Sum Sq num Df Error SS den Df F value Pr(>F)
#> F-test 0.5627      2   104.34    198  0.5339 0.5872
#> 
#> ------------------------------------------

Using the lgc() function

This is a simple example how to use lgc() function.

library(semnova)

set.seed(323412431)

data("semnova_test_data", package = "semnova")

mmodel <- create_mmodel(
    A1B1 = "var1",
    A2B1 = "var2",
    A3B1 = "var3",
    A1B2 = "var4",
    A2B2 = "var5",
    A3B2 = "var6",
    lv_scaling = "referent"
)

hypotheses <- list(
    Intercept = c(1),
    A        = c(2, 3),
    B        = c(4),
    AB       = c(5, 6)
)

C_matrix <- matrix(
    c(
        1, 1, 0, 1, 1, 0,
        1, 0, 1, 1, 0, 1,
        1,-1,-1, 1,-1,-1,
        1, 1, 0,-1,-1, 0,
        1, 0, 1,-1, 0,-1,
        1,-1,-1,-1, 1, 1
    ),
    nrow = 6
)

fit_lgc <-
    lgc(
        data = semnova_test_data,
        mmodel = mmodel,
        C_matrix = C_matrix,
        hypotheses = hypotheses
    )

summary(fit_lgc)
#> ------------------------------------------
#> 
#> term: Intercept
#> 
#> Response transformation matrix:
#>   V1
#> 1  1
#> 2  1
#> 3  1
#> 4  1
#> 5  1
#> 6  1
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   1   0.09447 0.094467      1     99 0.7592
#> Wilks  1   0.99906 0.093522      1     99 0.7604
#> 
#> ------------------------------------------
#> 
#> term: A
#> 
#> Response transformation matrix:
#>   V1 V2
#> 1  1  0
#> 2  0  1
#> 3 -1 -1
#> 4  1  0
#> 5  0  1
#> 6 -1 -1
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   2    3.4527   1.7264      2    198 0.1806
#> Wilks  1    0.9666   1.6919      2     98 0.1895
#> 
#> ------------------------------------------
#> 
#> term: B
#> 
#> Response transformation matrix:
#>   V1
#> 1  1
#> 2  1
#> 3  1
#> 4 -1
#> 5 -1
#> 6 -1
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   1   0.26776  0.26776      1     99 0.6060
#> Wilks  1   0.99733  0.26509      1     99 0.6078
#> 
#> ------------------------------------------
#> 
#> term: AB
#> 
#> Response transformation matrix:
#>   V1 V2
#> 1  1  0
#> 2  0  1
#> 3 -1 -1
#> 4 -1  0
#> 5  0 -1
#> 6  1  1
#> 
#> multiv. tests:
#>       Df test stat approx F num Df den Df Pr(>F)
#> Wald   2   1.05674  0.52837      2    198 0.5904
#> Wilks  1   0.98954  0.51780      2     98 0.5975
#> 
#> ------------------------------------------