想对一个每列服从均匀分布的矩阵的每一列归一化:
x1 <- matrix(0, 4, 6)
for(j in 1:6){
x1[, j] <- runif(4, 0, 1)
}
x2<- x1 / colSums(x1)
colSums(x2)
预期得到的结果是[1] 1 1 1 1 1 1
但是却是[1] 0.8067285 0.7996335 1.2654501 1.7015838 1.0351637 1.1075033
这样的随机数
奇怪的是,rowSums就与预期结果相同
x3 <- x1 / rowSums(x1)
rowSums(x3)
结果
[1] 1 1 1 1
太奇怪了,莫非是x / colSums(x)的原理我没搞清?
还望dalao不吝赐教!


雷达卡





京公网安备 11010802022788号







