Two structural equation models were tested (one was based on a sample with 199 individuals and the second one on a sample with 93 individuals). The aim was to test whether the results of the first model could be replicated using a new dataset.

Is there a way to calculate whether the $R^2$ (of the dependent variable) differ significantly between both models?

Is it possible to use Fisher Transformation for this purpose? Using the equations behind this Tool I can use R to calculate z and a corresponding p-value:

$z_{A} = \frac{1}{2} \ln\left({1+\sqrt{R^2_A} \over 1-\sqrt{R^2_A}}\right) = \operatorname{artanh}(\sqrt{R^2_A})$

$se(z) = \sqrt{\frac{1}{n_a - 3} + \frac{1}{n_b - 3}}$

$z = \frac{z_A - z_B}{se(z)} \tilde{} t(n_A + n_B - 2)$

fisher_z <- function(rA, rB, nA, nB){
  z_diff <- (atanh(sqrt(rA)) - atanh(sqrt(rB))) / sqrt((1/(nA-3)) + (1/(nB-3)));
  pvalue <- pt(z_diff, nA + nB - 2);
  return(list("z_diff"=z_diff, "p"=pvalue))


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.