假设我有一个矩阵,像这样:如何随机替换对称矩阵的元素?
data=matrix(c(1,0,0,0,0,0,1,0,0.6583,0,0,0,1,0,0,0,0.6583,0,1,0,0,0,0,0,1),nrow=5,ncol=5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0.0000 0 0.0000 0
[2,] 0 1.0000 0 0.6583 0
[3,] 0 0.0000 1 0.0000 0
[4,] 0 0.6583 0 1.0000 0
[5,] 0 0.0000 0 0.0000 1
如何创建另一个矩阵,说“数据2”,使得其具有相同数量的非对角线非零元素为“数据”,但在其他位置除了数据之外呢?随机模拟的数据将是统一的(如此runif)。
会不会有永远的对角线上1秒?对于具有未知数量的非零值的普通方阵,问题是否存在? – Bitwise
这是一个(模拟的)偏相关矩阵,其中我预先确定了非零非对角线元素的数量。因此,对角线上总会有1,它将是一个方形矩阵。 – 2012-10-26 06:24:07
在这个问题中存在一些关键的未规定的限制:如果模拟矩阵包含相关性,则其必须具有介于-1和1之间的非对角线值,并且它们必须是正半定值或其他(如果我正确理解“偏相关” )必须是这种矩阵的投影(通过清零一些条目对来创建)。另外,“统一”了什么参数? (有很多方法可以参数化这些矩阵。) – whuber