Математические функции в lavTestWald функции Лаваана - PullRequest
2 голосов
/ 06 июля 2019

Я использую пакет lavaan в R и хочу использовать lavaan::lavTestWald для проверки соответствия модели при линейных ограничениях. Этот тест является частью цикла, поэтому существует большое количество моделей, в которых я хочу проверить эти ограничения.

В рамках теста я хочу установить абсолютное значение двух величин равным. Есть ли способ сделать это? Я знаю о функции R abs(), но не смог понять, как включить abs() в lavaan::lavTestWald.

Вот воспроизводимый пример.

HS.model <- ' visual  =~ x1 + a*x2 + b*x3
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9'

fit <- cfa(HS.model, data = HolzingerSwineford1939)
lavTestWald(fit, "abs(a) == abs(b)") # I want something like this

1 Ответ

1 голос
/ 07 июля 2019

Я не знаю почему, но причина того, что ваш код не работает должным образом, связана с abs().Это сработало для меня:

lavTestWald(fit, "sqrt(a^2) == sqrt(b^2)")

Обратите внимание, что вы также можете определить новые параметры в выражении вашей модели и протестировать их, но я не знаю, имеет ли это какое-то значение в вашей ситуации.

HS.model <- ' visual  =~ x1 + a*x2 + b*x3
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9
# new1 := abs(a) - abs(b)
new2 := sqrt(a^2) - sqrt(b^2)
'
fit <- cfa(HS.model, data = HolzingerSwineford1939)
lavTestWald(fit, "new2 == 0")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...