0

考虑以下代码片段 -

targetArray = array(Inf, dim=c(3,5))
targetArray
     [,1] [,2] [,3] [,4] [,5]
[1,]  Inf  Inf  Inf  Inf  Inf
[2,]  Inf  Inf  Inf  Inf  Inf
[3,]  Inf  Inf  Inf  Inf  Inf

temp = NA
data = rnorm(n = 15, mean = 2, sd = 2)

现在,如果我分配datatemptargetArray它将改变 的尺寸targetArray。有没有办法确保它不会发生?

targetArray = temp
targetArray
[1] NA

targetArray = data
targetArray
 [1]  2.4026814  2.4011577 -0.5089512  1.6223969  4.7533560  0.6619385 -0.5676509  1.3093745  1.2342189 -0.5368143  4.4641850  1.9515940  2.0025938 -1.1589229
[15]  1.6669973

如何确保作业与 的尺寸相匹配targetArray?即当我输入时targetArray = temp,它应该将 targetArray 的所有元素更改为NA不更改其尺寸。同样,对于targetArray = data,它应该重新对齐 1 x 15 维data向量以符合 的维度targetArray并分配它(按行或按列)。

4

1 回答 1

1

我觉得你的期望有点偏离。该分配不关心 LHS 上的内容 - 您不是将数据“填充”到targetArray中,而是(通常是复制和)为某些数据分配名称targetArray

要获得您想要的结果,只需调整输入数据的维度,例如

targetArray = matrix(data, ncol = ncol(targetArray), nrow = nrow(targetArray))
于 2013-05-29T22:21:29.300 回答