我在 R 中有两个矩阵,一个方阵和一个非方阵:
dataMatrix1,一个 5x5 矩阵:
1 2 3 4 3
2 1 3 5 7
3 3 1 1 8
4 5 1 1 5
1 7 8 5 1
dataMatrix2,一个 5x8 矩阵:
1 0.2 0.3 0.4 0.3 0.9 0.6 0.5
0.2 1 0.3 0.5 0.7 0.8 0.6 0.1
0.3 0.3 1 0.1 0.8 0.3 0.1 0.6
0.4 0.5 0.1 1 0.5 0.3 0.1 0.7
0.1 0.7 0.8 0.5 1 0.5 0.9 0.9
我想用 dataMatrix1 的下三角形替换 dataMatrix2 的前 5x5 元素的下三角形部分,所以我会得到以下矩阵:
1 0.2 0.3 0.4 0.3 0.9 0.6 0.5
2 1 0.3 0.5 0.7 0.8 0.6 0.1
3 3 1 0.1 0.8 0.3 0.1 0.6
4 5 1 1 0.5 0.3 0.1 0.7
1 7 8 5 1 0.5 0.9 0.9
我只是组成了这些矩阵的值以用作示例,我必须对几个矩阵执行此操作。是否有系统的方法来实现这一目标?
数据
m1 <-"
1 2 3 4 3
2 1 3 5 7
3 3 1 1 8
4 5 1 1 5
1 7 8 5 1"
m1 <- as.matrix(read.table(text=m1,h=F))
m2 <-"
1 0.2 0.3 0.4 0.3 0.9 0.6 0.5
0.2 1 0.3 0.5 0.7 0.8 0.6 0.1
0.3 0.3 1 0.1 0.8 0.3 0.1 0.6
0.4 0.5 0.1 1 0.5 0.3 0.1 0.7
0.1 0.7 0.8 0.5 1 0.5 0.9 0.9"
m2 <- as.matrix(read.table(text=m2,h=F))