在R中的矩阵对角线的每个元素中添加一个值

时间:2016-09-27 17:09:11

标签: r matrix

我有一个矩阵:

with

我想为对角线的每个元素添加一个值(比如说2):

1 2 3
5 6 10
8 3 5

我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用您的样本数据

m<-matrix(scan(text="1 2 3
5 6 10
8 3 5"), ncol=3)

您可以使用diag()功能提取和更新矩阵的对角线元素

diag(m) <- diag(m)+2
m

答案 1 :(得分:0)

虽然diag函数最适用于此目的,但这只是另一种方式:

d <- row(m)-col(m)==0
m[d] <- m[d]+2

d是一个逻辑矩阵,其中只有对角元素为TRUE。