I am trying to conduct a power analysis using semTools
on a latent growth curve model estimated using lavaan
. See below:
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")
This, however, does not seem to work. My overall question is: how do I run a power analysis using semTools
for a latent growth curve model estimated using lavaan
? And more specifically, what should I use to specify powerModel
and popModel
?
How do I run a power analysis using
semTools
for a latent growth curve model estimated usinglavaan
SSpower
fromsemTools
should work.And more specifically, what should I use to specify powerModel and popModel?
From the perspective of syntax, your
model_regressions
object seems to be valid lavaan object which you can pass toSSpower
aspowerModel
argument, to describe the model to be analyzed, and also aspopModel
argument to specify the data-generating model. Nevertheless, you would also need to specify thealpha
- Type I error rate, andnparam
- number of invalid constraints inpowerModel
. Also, unless you are analyzing a multigroup model, and just trying to assess the power for two separate sample sizes, you could run theSSpower
-command separately with n=87 and n=125. For example with n=87 the code would look like this:NB: If you are trying to perform multigroup analysis, I am not sure this code would work in a correct manner. For multigroup analysis I would probably try another option suggested by the manual in which instead of using
popModel
, one would "..specify all non-zero parameters in a population model, ... by submitting a population covariance matrix (Sigma
) and optional mean vector (mu
) implied by the population model.". You can do this by statingmu
andsigma
withinSSpower
function call: