考虑以下代码片段 -
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)
现在,如果我将data
或temp
分配给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
的维度并指定它(按行或按列)。
答案 0 :(得分:1)
我认为你的期望有点偏差。该任务并不关心LHS上的内容 - 您不是“填写”数据到targetArray
,而是(通常是复制和)将一些数据分配给targetArray
。
要获得所需的结果,只需调整输入数据的尺寸,例如
targetArray = matrix(data, ncol = ncol(targetArray), nrow = nrow(targetArray))