Рассмотрим следующий фрагмент кода -R: Назначение для соответствия размеров целевого массива
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
и назначал его (как для ротации, так и для столбца).
Thanks @eddi. Я знал предложение, которое вы предлагаете, просто я не могу использовать его для своего кода. – steadyfish
@steadyfish - почему бы и нет? – eddi
@eddy Я в основном имею многомерный «targetArray» с фиксированными размерами. Кроме того, я неоднократно выполняю это задание для разных измерений. Короткий ответ, я не могу изменить размеры, я должен будет явно проверить несоответствие в измерениях целевых и исходных переменных до того, как произойдет присвоение. – steadyfish