我正在使用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”包来做到这一点,但无法做到。
答案 0 :(得分:3)
如果您首先将rcorr
转换为矩阵,则可以直接在A
和B
上应用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
给出了:
{{1}}