Подтвердить что ты не робот

Настройка 3D-матрицы в R и доступ к определенным элементам

Я пытаюсь настроить 3D-матрицу в R. Я думаю, это просто. Однако пока я не нашел решения. Предположим, мы хотим создать матрицу 365x6x4. Также ключевой формой меня является то, как я могу изменить одну запись в матрице. Пусть говорят, что мы хотим присвоить значение 204 элементу [304,5,2]. Я высоко ценю ваш ответ!

спасибо! лучше, F

4b9b3361

Ответ 1

Попробуйте следующее:

ar <- array(someData, c(365, 6, 4));  
ar[304,5,2] <- 204;

где someData может быть

someData <- rep(0, 365*6*4);  

или даже лучше, может быть

someData <- rep(NaN, 365*6*4);  

Ответ 2

Матрица представляет собой специальный двумерный случай массива. (Цитирование из справки для ?matrix).

Итак, вам нужно array:

x <- array(rep(1, 365*5*4), dim=c(365, 5, 4))
str(x)
num [1:365, 1:5, 1:4] 1 1 1 1 1 1 1 1 1 1 ...

Задайте определенное значение:

x[305, 5, 2] <- 204

Печать одного фрагмента:

x[305, , ]
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    1    1    1    1
[3,]    1    1    1    1
[4,]    1    1    1    1
[5,]    1  204    1    1

Ответ 3

Попробуйте этот простой пример (сделали пример довольно маленьким, чтобы он понял, что происходит - я объясню ниже, как настроить его для вашего точного вопроса!)...

m = array(1:60, dim=c(3,4,5))

m[2,1,5]
[1] 50

m[2,1,5] = -50

m[2,1,5]
[1] -50

Введите m, чтобы увидеть весь 3D-массив:)

В вашем примере вы должны установить свой начальный массив как m = array(NA, dim=c(365,6,4)) (это будет заполнять его NA для начала - у вас есть данные, чтобы заполнить его?) И назначение m[304,5,2] = 204, из курс:)