Buen Día Jorge, Es algo parecido a lo que necesito, pero no debo tener en cuenta la suma de la columna sino por ejemplo:
Tengo el elemento [1,2] en la matriz A que contiene el número 5 y por otra parte tengo la columna [,2] de la Matriz B con valores por ejemplo (1,2,3,4,5,6,7,8,9,10,11,12). El resultado debería ser un vector que en la posición uno debe indicar que existen 7 valores mayores a 5 en la columna [,2] de la matriz B en comparación con el elemento [1,2] e la Matriz A. Espero ser muy claro ya que a veces se torna un poco complicado la explicación de lo que se quiere programar. Saludos, David Contreras. El 9 de marzo de 2015, 1:12, Jorge I Velez <[email protected]> escribió: > Hola David, > > Si entiendo correctamente, lo siguiente deberia hacer lo que describes: > > set.seed(123) > A <- matrix(rpois(20, 4), ncol = 4) > B <- matrix(rpois(274*3, 4), ncol = 3) > > # el resultado es una matriz de orden 5x3 > sapply(1:ncol(B), function(.col) sapply(A[, .col + 1], function(x) sum(x > > B[, .col]))) > > # [,1] [,2] [,3] > #[1,] 5 253 243 > #[2,] 112 119 69 > #[3,] 243 164 3 > #[4,] 112 119 69 > #[5,] 112 18 260 > > Este resultado indica que el elemento A[1, 2] es 5 veces mayor que todos > los elementos de B[,1]; A[2, 2] es 112 veces mayor; A[3,2] es 243 > veces mayor; A[4,2] es 112 veces mayor y finalmente que A[5,2] es 112 > veces mayor que B[, 1]. Similarmente, A[5, 4] es 260 veces mayor que > los elementos de B[,3]. > > Un por uno seria algo como > > R> sapply(A[,2], function(x) sum(x > B[,1])) > [1] 5 112 243 112 112 > R> sapply(A[,3], function(x) sum(x > B[,2])) > [1] 253 119 164 119 18 > R> sapply(A[,4], function(x) sum(x > B[,3])) > [1] 243 69 3 69 260 > > Saludos cordiales, > Jorge.- > > > 2015-03-09 16:04 GMT+11:00 David Contreras <[email protected]>: > >> Buen día amigos, >> >> Antes que nada, reitero mis agradecimientos por sus respuestas tan >> precisas >> y oportunas, sigo en mi trabajo de grado y tengo dificultad con un >> proceso: >> >> Tengo dos matrices A y B, A es de dimensión 5x4 y B es de dimensión 274x3. >> Requiero de un proceso en el que tome el primer elemento de la Matriz A >> columna 2 y lo compare con todos los elementos de la Matriz B columna 1 y >> me diga en un vector de dimensión (1x5) cuantas veces fue el elemento de A >> mayor que cada uno de los 274 elementos de B y asi hasta llegar a los 5 >> elementos de A, es decir el resultado de este proceso sera un vector con 5 >> elementos y en cada uno me dice cuentas veces fue mayor el elemento [i,j] >> mayor que los 274 elementos de B. >> >> Agradezco su colaboración con el tema que como siempre es muy valiosa. >> >> >> Saludos, >> >> David Contreras. >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> [email protected] >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
