2013-11-12 1 views
0

я получил некоторые вопросы о связывании 2 матрицы в R.Замена подмножества данных в матрице значений, поступающих из другой матрицы

Я получил матрицу с глубиной, связанную с широтами (строк, я) и долготы (цв, j) в пределах лагуны. Ниже приведен пример данных:

 [,1] [,2] [,3] 
[1,] 2.28 3.80 4.55 
[2,] 1.35 5.70 2.88 
[3,] 3.79 4.40 3.24 

Я получил список пар координат (I, J) с указанием областей, представляющих интерес в лагуне. Например:

1,2, 3,3, 2,1 

т.д.

Что мне нужно сделать, это заменить координаты списка соответствующих значений глубины первой матрицы.

+0

Просьба указать [минимальный воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610). –

+0

Я исправил свою тему, ясно ли это? Спасибо за ваш ответ. –

ответ

1
mat <- matrix(c(2.28, 3.80, 4.55, 
        1.35, 5.70, 2.88, 
        3.79 ,4.40 ,3.24),  3, byrow=TRUE) 
idxmat <- matrix(c(1,2, 3,3, 2,1), 3, byrow=TRUE) 
mat[idxmat] 
#[1] 3.80 3.24 1.35 

Использование 2-х столбчатой ​​матрицы для извлечения значений из другой матрицы является стандартным R-маневром. Я уверен, что раньше меня спрашивали и отвечали (по мне на одно), но я подозреваю, что поиск стратегии может быть затруднен.

+0

Благодарим вас за ответ. Тем не менее, я не понимаю, так как ответ должен быть: # [1] 2.28 3.24 1.35 –

+0

Извините, я должен был ввести вторую матрицу как 'byrow = TRUE'. Значение 2.28 равно (1,1), поэтому я не понимаю, почему вы думаете, что он должен быть выбран. –

+0

Должен был введен как 'byrow = TRUE'. –