Estimado Javier, Gracias por tu mensaje.
No, lo unico que requiero es la lista de números (i1, 2, 3, 1, 2, 3, 4, 5, 1, 2). Saludos cordiales, Jorge.- 2015-10-28 14:35 GMT-05:00 Javier Rubén Marcuzzi < javier.ruben.marcu...@gmail.com>: > Estimado Jorge I Velez > > > > No comprendo un punto, dices que deseas construir sub matrices y extraer > elementos de sub matrices, en el ejemplo en output no hay sub matrices > (tres matrices como resultado) sino una cadena de números. ¿Cómo necesitas > el resultado?, ¿Cómo se ve en el ejemplo?, ¿Cómo matrices de matrices? > > > > Ejemplo > > 123 > > 12345 > > 12 > > > > O en una forma > > 1231234512 > > > > ¿Hay que dejar algo (índice) como para que accedas a algo reconocido o > especificado, ej, segundo valor de la segunda sub matriz (2,2), ¿o con > tener la lista de números le es útil? > > > > Javier Rubén Marcuzzi > Técnico en Industrias Lácteas > Veterinario > > > > > > > *De: *Jorge I Velez > *Enviado: *miércoles, 28 de octubre de 2015 12:15 > *Para: *R-help-es > *Asunto: *[R-es] Extraer elementos diagonales de submatrices > > > > > > Buenos dias a todos, > > > > Quisiera extraer algunas entradas de una matrix "m" teniendo en cuenta > algunas restricciones. El siguiente ejemplo ilustra la situacion: > > > > ## input > > m <- structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, > > 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, > > 3, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, > > 0, 0, 0, 5, 5, 5), .Dim = c(10L, 5L)) > > m > > > > ## output > > output <- c(1:3, 1:5, 1:2) > > output > > > > Si el numero de filas es r y el numero de columnas k, la idea es construir > submatrices de dimension k x k y extraer los elementos diagonales NO > ceros. Ahora, en caso de encontrar un cero, debe desplazarse a la > siguiente fila, y construir una nueva matriz k x k. Graficamente esto > seria: > > > > [image: Inline image 2] > > > > Observe que en este caso, r = 10 y k = 5. En la primera submatriz, la > diagonal tiene los valores 1, 2, 3, 0, 0, de los cuales SOLO deben > seleccionarse 1, 2 y 3 (en lila). El primer cero se encuentra en la > posicion [1, 4], asi que la siguiente submatriz debe construirse COMENZANDO > en la fila 4, columna 1. > > > > A partir de esta segunda submatriz se obtienen los elements 1, 2, 3, 4 y > 5, que corresponden a su diagonal (en azul celeste). La posicion del > ultimo elemento de esta diagonal es [8, 5], asi que la siguiente submatriz > debe comenzar en la fila 9. A partir de esta submatriz se obtienen los > valores 1 y 2 (en naranja). El resultado final de todo este proceso es el > vector > > > > # [1] 1 2 3 1 2 3 4 5 1 2 > > > > Agradezco a todos el tiempo que les tomo leer este mensaje, y por supuesto > por cualquier sugerencia que me permita obtener este vector. > > > > Saludos cordiales, > > Jorge Velez.- > > > > > > > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es