相关系数的P值

3

我正在使用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值而非每个相关系数的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”包来实现这个功能,但无法成功。
1个回答

3

如果您先将AB转换为矩阵,那么您可以直接在它们上面应用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:我对这个数据还有一个澄清,但是它涉及到排列组合。我应该发一个新问题吗? - Paul
1
@user2810362 这是一个数据操作问题还是统计学问题?如果是后者,最好将问题提交到Cross Validated。 - juba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接