Index valores de una matriz usando fila, col indica

Esto probablemente sea fácil de resolver. Tengo una matriz 2Dmat con 500 filas × 335 columnas y un data.framedat con 120425 filas. El data.framedat tiene dos columnasI yJ, que son enteros para indexar la fila, columna demat. Me gustaría agregar los valores demat a las filas dedat.

Aquí está mi falla conceptual:

> dat$matval <- mat[dat$I, dat$J]
Error: cannot allocate vector of length 1617278737

(Estoy usando R 2.13.1 en Win32). Excavando un poco más, veo que estoy haciendo un mal uso de la indexación matricial, ya que parece que solo obtengo una submatriz demat, y no una matriz de valores unidimensional como esperaba, es decir

> str(mat[dat$I[1:100], dat$J[1:100]])
 int [1:100, 1:100] 20 1 1 1 20 1 1 1 1 1 ...

Estaba esperando algo comoint [1:100] 20 1 1 1 20 1 1 1 1 1 .... ¿Cuál es la forma correcta de indexar una matriz 2D usando índices de fila, columna para obtener los valores?

Respuestas a la pregunta(0)

Su respuesta a la pregunta