两个相关系数差异的显着性检验

Bur*_*Leo 7 statistics r correlation

如何测试两个相关系数是否显着不同 - 在GNU R中?

也就是说,如果相同变量(例如,年龄和收入)之间的影响在两个不同的群体(子样本)中不同.

有关背景信息,请参阅如何比较不同组中相同变量的相关系数,以及对Spearman相关系数差异的显着性检验(均为CrossValidated).

Bur*_*Leo 6

如果你想比较多对系数(这是基于两个相关系数定量分析和政治之间的差异的显着性,PDF),这是一个GNU R的现成功能:

cor.diff.test = function(r1, r2, n1, n2, alternative = c("two.sided", "less", "greater")) {

  Z1 = 0.5 * log( (1+r1)/(1-r1) )
  Z2 = 0.5 * log( (1+r2)/(1-r2) )

  diff = Z1 - Z2
  SEdiff = sqrt( 1 / (n1 - 3) + 1 / (n2 - 3))
  diff.Z = diff / SEdiff

  if (alternative == "less") {
    return(pnorm(diff.Z, lower.tail=F))
  } else if (alternative == "greater") {
    return(pnorm(-diff.Z, lower.tail=F))
  } else if (alternative == "two.sided") {
    return(2 * pnorm( abs(diff.Z), lower.tail=F))
  } else {
    warning(paste("Invalid alterantive", alternative), domain=NA)
    return(NA)
  }
}
Run Code Online (Sandbox Code Playgroud)