我有一个简单的 R 代码来将 2x2 矩阵的分量相加
sum<-0
for(i in 1:2){ # row
for(j in 1:2){ #column
sum<-sum+mat[i,j]
}
}
是否可以使用 outer() 或任何其他函数来替换这段代码并使其更高效?我的目标是替换整个代码中的嵌套 for 循环,以减少执行程序所需的时间。
编辑:我也想尝试在代码片段上使用它,例如:
for(i in 1:2){ # row
for(j in 1:2){ #coloumn
chisqr<- chisqr+ ((mat[i,j]-expmat[i,j])^2)/expmat[i,j]
}
}
和:
for(i in 1:2){ # row
for(j in 1:2){ #coloumn
rowsum<-0
colsum<-0
for(k in 1:2){
rowsum<- rowsum+mat[i,k]
}
for(k in 1:2){
colsum<- colsum+mat[k,j]
}
expmat[i,j]<- (rowsum*colsum)/sum
}
}