我正在使用 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”包来执行此操作,但无法做到。
最佳答案
如果您先将它们转换为矩阵,则可以直接在 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
关于r - 相关系数的 p 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977750/