相关疑难解决方法(0)

R中行的上三角矩阵的向量

我有一个矢量说

a = c(1,2,3,4,5,6) 
Run Code Online (Sandbox Code Playgroud)

我想将它们整理到的元素为上三角矩阵(不考虑对角线元素,它们都是零)按行.我的目标是获得以下矩阵:

     [,1] [,2] [,3] [,4]
[1,]    0    1    2    3
[2,]    0    0    4    5
[3,]    0    0    0    6
[4,]    0    0    0    0
Run Code Online (Sandbox Code Playgroud)

但是我采用以下方式是用这个向量替换对角元素,但是按列分配值.例如,

b= matrix(0, 4, 4)
b[upper.tri(b, diag=FALSE)]=a 
Run Code Online (Sandbox Code Playgroud)

它会给我以下矩阵

   [,1] [,2] [,3] [,4]
[1,]    0    1    2    4
[2,]    0    0    3    5
[3,]    0    0    0    6
[4,]    0    0    0    0
Run Code Online (Sandbox Code Playgroud)

原因是当R为矩阵赋值时,默认情况下,它将按列分配.我想知道是否有一种简单的方法可以解决我的问题,而无需编写for循环.

我之前发现了一个与我的问题相关的类似帖子,但它没有解释按行分配上三角矩阵的值:

创建一个三角矩阵

提前致谢!

r vector matrix

10
推荐指数
1
解决办法
6965
查看次数

R /从下三角元素的向量中创建对称矩阵

我提供了一些数据,以R形式处理矢量形式.这个大小为n(n + 1)/ 2的向量的元素应该在对称矩阵中重新排列.例:

n<-4
x<-seq(from=1,to=n*(n+1)/2) 
Run Code Online (Sandbox Code Playgroud)

获得什么是一种很好的方式

mat<- 1 2 3 4
      2 5 6 7
      3 6 8 9  
      4 7 9 10 
Run Code Online (Sandbox Code Playgroud)

r vector matrix

3
推荐指数
1
解决办法
1986
查看次数

标签 统计

matrix ×2

r ×2

vector ×2