[R-es] Aplicación de lapply()
Rubén Gómez Antolí
lobo en mucharuina.com
Sab Nov 16 11:57:12 CET 2013
Hola:
El 15/11/13 21:32, Alejandro Ayala escribió:
> Estimados su ayuda con la ejecución del comando lapply()
>
> Tengo creada la siguiente función invertir(matriz,n) que me permite cambiar
> la posición de los elementos de una matriz.
>
> invertir<-function(Matriz,n){
> a<-Matriz
> b<-matrix(c(rep(0,n*n)),n,n)
> c<-matrix(c(rep(0,n*n)),n,n)
> for (i in 1:n) {b[i,]<-a[(n+1)-i,]}
> for (j in 1:n) {c[,j]<-b[,(n+1)-j]}
> return(c)
> }
Del código entiendo que trabajas con matrices cuadradas, ¿por qué no
sacas directamente la dimensión en vez de pasársela?
n<-dim(Matriz)[1]
>
> matriz<-matrix(c(0,0,0,0,3,0,0,0,7,5,0,0,8,14,4,0),4,4, byrow=TRUE)
> invertir(matriz,4)
>
> Lo que necesito es aplicar la función lapply en conjunto con la funcion
> creada "invertir" a una lista en donde tengo almacenadas 19 matrices.
Si no lo he entendido mal, tienes una lista con un número determinado de
matrices y les quieres aplicar la función invertir(), ¿no?
lista<-list(matriz,matriz,matriz)
lapply(lista,function(x) invertir(x,4))
No te creas que domino perfectamente a apply y sus derivados, pero creo
que con eso se soluciona.
Salud y Revolución.
Lobo.
--
Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux,
para no atar mis manos con las cadenas del soft propietario.
Porque la libertad no es tu derecho, es tu responsabilidad.
http://www.mucharuina.com
---------
Desde El Ejido, en Almería, usuario registrado Linux #294013
http://www.counter.li.org
Más información sobre la lista de distribución R-help-es