0

我正在用 R 编写一个 chi-sq 统计测试,我的标量 chisq 正在转换为矩阵,我不知道为什么。

这里使用的变量包括

k 是一个标量

f 是一个 kxk 矩阵

n 是正在评估的数据点的数量

chisq 是一个标量,但每次我运行这段代码时都会变成一个矩阵。

任何帮助,将不胜感激

for(i in 1:k){
    for(j in 1:k){
        chisq<-chisq+(f[i,j]-(n/(k^2)))^2
    }
}
4

1 回答 1

2

这是一段可重现的代码:

chisq=0
k=3
f=matrix(runif(k*k),k,k)
n=3
for(i in 1:k){
    for(j in 1:k){
        chisq<-chisq+(f[i,j]-(n/(k^2)))^2
    }
}

chisq以标量形式出现。如果我从chisq一个矩阵开始,我会得到一个矩阵:

 chisq = matrix(0,1,1)

所以,我怀疑你正在做后者,尽管你说了什么。您和我们都可以使用可重复的示例。

于 2013-02-14T08:27:20.020 回答