小编Lil*_*ila的帖子

R:将矩阵的上三角部分转换为对称矩阵

我在R中没有矩阵的上三角形部分(没有对角线),并且想要从上三角形部分生成对称矩阵(在对角线上有1但可以稍后调整).我通常这样做:

res.upper <- rnorm(4950)
res <- matrix(0, 100, 100)
res[upper.tri(res)] <- res.upper
rm(res.upper)
diag(res) <- 1
res[lower.tri(res)]  <- t(res)[lower.tri(res)]
Run Code Online (Sandbox Code Playgroud)

这工作正常,但现在我想使用非常大的矩阵.因此,我希望避免同时存储res.upper和res(填充0).有没有什么方法可以直接将res.upper转换为对称矩阵而不必先初始化矩阵res?

r matrix

4
推荐指数
1
解决办法
2296
查看次数

标签 统计

matrix ×1

r ×1