我有一个大小的矢量vec,比如n和一个矩阵m IxI,它是0(矩阵)。我想用向量vec的第一个I条目替换矩阵的第一列,然后用vec的条目I + 1到2I-1替换矩阵m的第二列的第一个I-1条目,然后矩阵m的第三列的第一个I-3条目由vec的条目2I到3I-2,依此类推。在R中有一种快速的方法吗? 谢谢!
答案 0 :(得分:1)
也许将来我们可以有一个reproducible example?
这似乎符合您上面的口头描述:
n <- 5
m <- matrix(0,n,n)
m[((n+1)-col(m))>=row(m)] <- 1:(n*(n+1)/2)
m
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 6 10 13 15
## [2,] 2 7 11 14 0
## [3,] 3 8 12 0 0
## [4,] 4 9 0 0 0
## [5,] 5 0 0 0 0
?lower.tri
也很有用,但我认为它没有指定您想要的组件。