我想做一个矩阵T,其中T_ij=a_ij/sum a_ij用于I从1到n。我知道矩阵a,它是一个100x100的矩阵。
这就是我迄今为止所尝试的:
n2<-10000
mynumbers<-c(1,0)
myprobs<-c(0.2,0.8)
trials<-sample(mynumbers, n2, replace=TRUE, prob=myprobs)
matrixA<-matrix(trials, 100, 100)
matrixA
n=100
matrixT=matrix(0,100,100)
for(i in 1:n){
for (j in 1:n){
matrixT[i,j]=matrixA[i,j]/sum(matrixA[1:n,j])
}
}
matrixT
它没有给出任何错误,但我怀疑它是否正确,尤其是因为我的输出有很多零。但这可能是合乎逻辑的,我不确定。我特别纠结于从1到n的a_ij的求和部分。提前谢谢!
在R中,您可以只写:
apply(matrixA, 2, function(x) x / sum(x))
将每列除以列和。
基本R解决方案:
prop.table(matrixA, 2)