【发布时间】:2020-02-21 04:04:39
【问题描述】:
我有一个矩阵如下:
> Mat=matrix(c(1,1,0,1,1,2,1,Inf), nrow=4, ncol=2)
> Mat
[,1] [,2]
[1,] 1 1
[2,] 1 2
[3,] 0 1
[4,] 1 Inf
我想根据上面的矩阵创建一个新矩阵如下:当第一列的值等于第二列时,将相同的值放在新矩阵的第一列中,当我们有两个不同的值时两列,将两个值的平均值放入新矩阵的第一列,当第二列的值为 Inf 时,将第一列的值放入新矩阵的第一列。对于新矩阵的第二列值,只有当第一个矩阵第二列的值为Inf时,才取值为0,否则取值为1。最终的新矩阵如下:
> newMat=matrix(c(1,1.5,0.5,1, 1,1,1,0), nrow=4,ncol=2)
> newMat
[,1] [,2]
[1,] 1.0 1
[2,] 1.5 1
[3,] 0.5 1
[4,] 1.0 0
如何在 R 中创建新矩阵?
【问题讨论】:
标签: r