【问题标题】:Change some values of matrix to form a new matrix改变矩阵的一些值来形成一个新的矩阵
【发布时间】:2016-04-07 01:54:44
【问题描述】:

“a”是一个矩阵。

a<-matrix(1:20,5)

我想把“a”的第一列改成1,组成一个新的矩阵“b”,还要保持“a”不变。

现在我只能通过以下代码来实现这个目标:

 b<-a
 b[,1]=1

如何用一句代码解决这个问题?

【问题讨论】:

  • 请问您为什么在意?审美、好奇心……? (@Julius 的解决方案很好,但实际上比b &lt;- a; b[,1] &lt;- 1 更多的字符...)
  • @BenBolker 也许是为了节省时间更简单
  • @BenBolker 如果您认为这个问题过于原生和愚蠢,您能否帮我解决一个有点复杂的问题:stackoverflow.com/questions/36459958/… 谢谢!

标签: r matrix


【解决方案1】:
replace(a, col(a) == 1, 1)
#      [,1] [,2] [,3] [,4]
# [1,]    1    6   11   16
# [2,]    1    7   12   17
# [3,]    1    8   13   18
# [4,]    1    9   14   19
# [5,]    1   10   15   20

在这种情况下,还有cbind(1, a[, -1])

【讨论】:

  • 非常感谢!两个看起来都不错。 @朱利叶斯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多