【问题标题】:p-values of correlation coefficients相关系数的 p 值
【发布时间】:2013-09-24 09:30:14
【问题描述】:

我正在使用 R 并且对相关性有疑问。

A<-data.frame(A1=c(1,2,3,4,5),B1=c(6,7,8,9,10),C1=c(11,12,13,14,15 ))
B<-data.frame(A2=c(6,7,7,10,11),B2=c(2,1,3,8,11),C2=c(1,5,16,7,8))
cor(A,B)
#           A2        B2       C2
# A1 0.9481224 0.9190183 0.459588
# B1 0.9481224 0.9190183 0.459588
# C1 0.9481224 0.9190183 0.459588

我想获得矩阵中每个相关系数的 p 值。这可能吗?

我尝试使用 Hmisc 包中的 rcorr 函数,但只获得一个 p 值,而不是每个相关性。

A <- as.vector(t(A))
B <- as.vector(t(B))
rcorr(A, B)
     x    y
x 1.00 0.13
y 0.13 1.00

n= 15 


P
  x      y     
x        0.6425
y 0.6425       

同样,我也尝试在 R 中使用“psych”包来做到这一点,但无法做到。

【问题讨论】:

    标签: r correlation


    【解决方案1】:

    如果先将A和B转换为矩阵,则可以直接在rcorr上应用:

    library(Hmisc)
    rcorr(as.matrix(A),as.matrix(B))
    

    这给出了:

         A1   B1   C1   A2   B2   C2
    A1 1.00 1.00 1.00 0.95 0.92 0.46
    B1 1.00 1.00 1.00 0.95 0.92 0.46
    C1 1.00 1.00 1.00 0.95 0.92 0.46
    A2 0.95 0.95 0.95 1.00 0.97 0.16
    B2 0.92 0.92 0.92 0.97 1.00 0.15
    C2 0.46 0.46 0.46 0.16 0.15 1.00
    
    n= 5 
    
    
    P
       A1     B1     C1     A2     B2     C2    
    A1        0.0000 0.0000 0.0141 0.0273 0.4361
    B1 0.0000        0.0000 0.0141 0.0273 0.4361
    C1 0.0000 0.0000        0.0141 0.0273 0.4361
    A2 0.0141 0.0141 0.0141        0.0078 0.7981
    B2 0.0273 0.0273 0.0273 0.0078        0.8125
    C2 0.4361 0.4361 0.4361 0.7981 0.8125       
    

    【讨论】:

    • @juba:我对这个数据还有一个澄清,但它是关于排列的。我应该把它作为一个新问题发布吗?
    • @user2810362 是数据操作问题还是统计问题?在第二种情况下,问题最好转到交叉验证。
    猜你喜欢
    • 2019-01-16
    • 2013-04-04
    • 2012-11-19
    • 2017-10-06
    • 2014-08-17
    • 2019-12-10
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    相关资源
    最近更新 更多