Выполнение анализа мощности на модели кривой скрытого роста лавы - PullRequest
6 голосов
/ 02 апреля 2020

Я пытаюсь провести анализ мощности с использованием semTools на модели кривой скрытого роста, оцененной с использованием lavaan. См. Ниже:

library(RCurl)
library(lavaan)
library(semTools)
x <- getURL("https://gist.githubusercontent.com/aronlindberg/dfa0115f1d80b84ebd48b3ed52f9c5ac/raw/3abf0f280a948d6273a61a75415796cc103f20e7/growth_data.csv")
growth_data <- read.csv(text = x)

model_regressions <- ' i =~ 1*t1 + 1*t2 + 1*t3 + 1*t4 + 1*t5 + 1*t6 + 1*t7 + 1*t8 + 1*t9 + 1*t10 + 1*t11 + 1*t12 + 1*t13+ 1*t14 + 1*t15 + 1*t16 + 1*t17 + 1*t18 + 1*t19 + 1*t20
s =~ 0*t1 + 1*t2 + 2*t3 + 3*t4 + 4*t5 + 5*t6 + 6*t7 + 7*t8 + 8*t9 + 9*t10 + 10*t11 + 11*t12 + 12*t13 + 13*t14 + 14*t15 + 15*t16 + 16*t17 + 17*t18 + 18*t19 + 19*t20

# fixing error-variances
t8 ~~ 0.01*t8
t17 ~~ 0.01*t17
t18 ~~ 0.01*t18
# regressions
s ~ h_index
i ~ h_index'

SSpower(powerModel = model_regressions, popModel = model_regressions, n = c(87, 125), fun = "growth")

Это, однако, не похоже на работу. Мой общий вопрос: как мне выполнить анализ мощности с использованием semTools для модели кривой скрытого роста, оцененной с использованием lavaan? А более конкретно, что я должен использовать, чтобы указать powerModel и popModel?

1 Ответ

4 голосов
/ 08 апреля 2020

Как выполнить анализ мощности с использованием semTools для модели кривой скрытого роста, оцененной с использованием lavaan

SSpower из semTools. Должно работать

А более конкретно, что я должен использовать, чтобы указать powerModel и popModel?

С точки зрения синтаксиса, ваш model_regressions объект, кажется, является допустимым объектом лавы, который вы можете передать SSpower в качестве аргумента powerModel для описания анализируемой модели, а также в качестве аргумента popModel для указания модели генерации данных. Тем не менее, вам также необходимо указать alpha - тип ошибки I и nparam - число недопустимых ограничений в powerModel. Кроме того, если вы не анализируете многогрупповую модель и не пытаетесь оценить мощность для двух отдельных размеров выборки, вы можете запустить команду SSpower отдельно с n = 87 и n = 125. Например, при n = 87 код будет выглядеть следующим образом:

  SSpower(powerModel = model_regressions, n = 87, nparam = 1, popModel = model_regressions,  fun = "growth", alpha=0.05)
    # [1] 0.05044634

Примечание: если вы пытаетесь выполнить многогрупповой анализ, я не уверен, что этот код будет работать правильно. Для многогруппового анализа я бы, вероятно, попробовал бы другой вариант, предложенный руководством , в котором вместо использования popModel можно было бы "... указать все ненулевые параметры в модели совокупности, ... путем отправки ковариационная матрица населения (Sigma) и необязательный средний вектор (mu), подразумеваемые моделью населения ". Вы можете сделать это, указав mu и sigma в SSpower вызове функции:

SSpower(...Sigma = , mu = , ...)
...