【发布时间】:2015-12-28 18:13:03
【问题描述】:
我试图在以下可重现的示例中了解我的问题的要点:
mat <- matrix(3:6,nr=2,nc=2)
j=1
> eval(parse(text=paste0("m",c("a","b")[j],"t","[1,1]")))
[1] 3
> assign(paste0("m",c("a","b")[j],"t","[1,1]"),45)
> mat
[,1] [,2]
[1,] 3 5
[2,] 4 6
我的问题是mat[1,1] 仍然等于3 而不是45,正如我所期望的那样。
【问题讨论】:
-
我认为这对我们了解您为什么要以这种方式使用
assign()很有帮助。 -
我正在尝试增加一个名称变化的数组。
-
我几乎可以肯定你不能以这种方式使用
assign(),因为assign()对名称进行操作。矩阵的名称只是mat或其他名称。其余的东西,即[,实际上是 R 中的一个函数。 -
这就解释了。谢谢。