R:匹配以匹配目标阵列的尺寸

时间:2013-05-29 22:08:51

标签: r variable-assignment

考虑以下代码片段 -

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)

现在,如果我将datatemp分配给targetArray,则会改变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的维度并指定它(按行或按列)。

1 个答案:

答案 0 :(得分:1)

我认为你的期望有点偏差。该任务并不关心LHS上的内容 - 您不是“填写”数据到targetArray,而是(通常是复制和)将一些数据分配给targetArray

要获得所需的结果,只需调整输入数据的尺寸,例如

targetArray = matrix(data, ncol = ncol(targetArray), nrow = nrow(targetArray))