[英]Can I use a covariance matrix to specify the correlation structure in the nlme function gls?
[英]Can I use a correlation test function with a correlation matrix as an imput?
我正在尝试将相关测试 function 应用于相关矩阵,但没有成功。 我没有这个矩阵的原始数据,这就是为什么找到一种方法来做到这一点很重要。
我的数据如下所示:
PM10 T Tmax Tmin P H PT V Vmax
PM10 1.00 -0.41 -0.26 -0.55 0.37 -0.13 -0.25 -0.27 -0.22
T -0.41 1.00 0.95 0.87 -0.18 -0.28 -0.01 -0.14 -0.05
Tmax -0.26 0.95 1.00 0.70 -0.08 -0.41 -0.09 -0.23 -0.08
Tmin -0.55 0.87 0.70 1.00 -0.30 0.07 0.14 -0.03 -0.01
P 0.37 -0.18 -0.08 -0.30 1.00 -0.18 -0.13 -0.29 -0.25
H -0.13 -0.28 -0.41 0.07 -0.18 1.00 0.32 -0.15 -0.19
PT -0.25 -0.01 -0.09 0.14 -0.13 0.32 1.00 0.11 0.07
V -0.27 -0.14 -0.23 -0.03 -0.29 -0.15 0.11 1.00 0.83
Vmax -0.22 -0.05 -0.08 -0.01 -0.25 -0.19 0.07 0.83 1.00
Cor.test() 不接受矩阵作为输入,我似乎找不到任何其他方法可以做到这一点。
Barlett 检验根据相关矩阵行列式分布的卡方近似值来检验相关矩阵与恒等式。 应该提供样本大小 n,但如果没有,它将假定为 100 - 请参阅下面的警告。
例如,如果 p 值小于 0.05,那么我们可以拒绝 null 假设,即相关矩阵是单位矩阵。 将其应用于单位矩阵cortest.bartlett(diag(9))
和全为 1 的矩阵cortest.bartlett(1 + 0*R)
以查看差异。
library(psych)
cortest.bartlett(R)
给予:
$chisq
[1] 777.2996
$p.value
[1] 5.038841e-140
$df
[1] 36
Warning message:
In cortest.bartlett(R) : n not specified, 100 used
R <- structure(c(1, -0.41, -0.26, -0.55, 0.37, -0.13, -0.25, -0.27,
-0.22, -0.41, 1, 0.95, 0.87, -0.18, -0.28, -0.01, -0.14, -0.05,
-0.26, 0.95, 1, 0.7, -0.08, -0.41, -0.09, -0.23, -0.08, -0.55,
0.87, 0.7, 1, -0.3, 0.07, 0.14, -0.03, -0.01, 0.37, -0.18, -0.08,
-0.3, 1, -0.18, -0.13, -0.29, -0.25, -0.13, -0.28, -0.41, 0.07,
-0.18, 1, 0.32, -0.15, -0.19, -0.25, -0.01, -0.09, 0.14, -0.13,
0.32, 1, 0.11, 0.07, -0.27, -0.14, -0.23, -0.03, -0.29, -0.15,
0.11, 1, 0.83, -0.22, -0.05, -0.08, -0.01, -0.25, -0.19, 0.07,
0.83, 1), .Dim = c(9L, 9L), .Dimnames = list(c("PM10", "T", "Tmax",
"Tmin", "P", "H", "PT", "V", "Vmax"), c("PM10", "T", "Tmax",
"Tmin", "P", "H", "PT", "V", "Vmax")))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.