Determining R2 based on TSSEM Outputs in metaSEM

Posted on
No user picture. HAMED Joined: 06/15/2012
Forums

Greetings,

I have run a random-effects TSSEM (tssem2()) in metaSEM and received the estimated path loadings and correlations among factors in the output for my structural model. I also need to find the R2 values for my endogenous variables in my structural model. I was wondering how I can determine R2 values. I think they should be calculated as 1-var of the endogenous variables found in impliedS1 matrix in mx.fit component of the tssem2() output:

random2<-tssem2(...)
random2$mx.fit$impliedS1

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1.00000000 -0.2124499 -0.37657180 -0.1408749 0.1566710 0.03624335 -0.16619094 -0.06419929
[2,] -0.21244990 0.4783484 0.57574642 0.4799511 0.5499434 0.44504316 0.53299814 0.14718394
[3,] -0.37657180 0.5757464 0.77637611 0.5277954 0.6590216 0.60979639 0.56536845 0.04923937
[4,] -0.14087491 0.4799511 0.52779536 0.5113916 0.5535190 0.40219453 0.58033105 0.22417971
[5,] 0.15667096 0.5499434 0.65902158 0.5535190 1.0000000 0.46021062 0.56435678 -0.10231421
[6,] 0.03624335 0.4450432 0.60979639 0.4021945 0.4602106 1.00000000 0.45487242 0.20794375
[7,] -0.16619094 0.5329981 0.56536845 0.5803310 0.5643568 0.45487242 1.00000000 -0.08405294
[8,] -0.06419929 0.1471839 0.04923937 0.2241797 -0.1023142 0.20794375 -0.08405294 1.00000000

Then, for example,
R2 for [,2]= 1- 0.4783484= 0.5216516.

Am I right?

I appreciate any help,

Thank you,
Hamed

Replied on Wed, 05/20/2015 - 02:39
Picture of user. Mike Cheung Joined: Oct 08, 2009

Hi, Hamed.

In your example, 0.4783484 is already the explained variance while 0.5216516 is the error variance.

An alternative approach to calculate the error variance is diag(mxEval(Ematrix, random2$mx.fit)) . Thus, the R squares are 1-diag(mxEval(Ematrix, random2$mx.fit)) .

Cheers,
Mike