-1

我有一个数据框,其中包含多个社会经济因素以及相应的观察结果。我想对所有这些运行 lm-Analysis,然后形成一个新的矩阵(或数据框),其中包含每个变量组合的所有 Pvalue。

我的原始数据在矩阵 SFI.Matrix 中,包含 7 行,每行 12 个条目。

我尝试了以下方法:1.)构建结果矩阵 2.)为所有不同的组合运行 lm 3.)将这些结果合并到结果矩阵中。

我的代码如下所示:

Levene.Tests.Results <- matrix(1, nr=7, nc=7)
rownames(Levene.Tests) <- colnames(Levene.Tests) <- colnames(SFI.Matrix)


for(i in 1:7) {
for(j in 1:7) {
Levene.Tests <- lm(SFI.Matrix[,i] ~ SFI.Matrix[,j])$p.value }}

我的问题是我得到的结果是一个包含所有 NA 的矩阵 [n=7,m=7]。

我将不胜感激任何建议:-)

另外,我不确定这是否真的有效,因为数据条目是费率......你能帮我解决这个问题吗?

4

1 回答 1

1

感谢@BenBolker 的建议,我能够解决这个问题。事实上, lm 是错误的功能。正确的函数是 test.cor,它带来了非常有用的结果:

Correlations<- matrix( nrow=7, ncol=7)
for(i in 1:7) {
for(j in 1:7) {
Correlations[i,j] <- cor.test( SFI.Matrix[,i], SFI.Matrix[,j] )$p.value
}
}

再次感谢您,Stackoverflow!

于 2013-05-06T05:33:34.670 回答