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

时间:2017-11-20 16:10:09

标签: r statistics correlation significance statistical-test

我有一个相关系数向量(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测试它们,而不是依靠统计书背面的表格?

1 个答案:

答案 0 :(得分:0)

至于不让我的问题无法回答,这就是我最终解决的问题。感谢@ 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值 - 它们确实需要一些转换,但允许你提前设置置信水平,并且最终更容易解读。