使用 r 测试相关系数向量的重要性

Testing the significance of a vector of correlation coefficients using r

我有一个相关系数向量 (r) 和一个包含观测数 (n) 的向量,我想测试它们中的每一个,看看它们是否与 0 有显着差异。

r = c(.69,.32,.75,.69,.42,.53,.25,.27,.1,-.15,.48,.39)
n = c(41,233,44,44,44,44,217,217,217,217,217,217)

##### t-values
rt <- function(r,n){
cbind(r/(sqrt((1-r^2)/(n-2))),
n)
}

rt(r,n)

计算 t 值很容易,但是有没有一种方法可以使用 R 来测试它们,而不是求助于统计书后面的表格?

关于不让我的问题无人回答,这就是我最终解决的方法。感谢@user20650 提供解决方案!

    r = c(.69,.32,.75,.69,.42,.53,.25,.27,.1,-.15,.48,.39)
    n = c(41,233,44,44,44,44,217,217,217,217,217,217)

    rPV = function(r,n,dec = 8){
        # calculate t-values
        rt <- function(r,n){
            t.value = abs(r/(sqrt((1-r^2)/(n-2))))
            return(t.value)
        }
        t.value = rt(r,n)
        df = n-2
        CDF = round(pt(t.value,df = df),dec) # find location of t-values on the student t-distribution (quantiles). 
        p.value = round(1-pt(t.value, df = df),dec) 

        return(cbind(r,n,df,t.value,CDF,p.value))
    }

    rPV(r,n)

有了这个解决方案,我宁愿建议最终计算置信区间而不是 p 值——它们确实需要一些转换,但允许您提前设置置信水平,并且最终更容易解释。