Hola,

¿Puedes probar si te pasa incluyendo entre llaves la parte que aplica al
bucle for...?

##########################################
funcion.1=function(x,n) {

  for (i in 1:n) *{*
    orden.3=lapply(x,subset,select=1:i)
    nam=paste("r",i,sep=".")
    orden.4=assign(nam,orden.3)
  *}*

}
##########################################



Saludos,
Carlos Ortega
www.qualityexcellence.es

El 9 de noviembre de 2012 17:42, Gabriel Trujillo Paucar <
gabriel_enter@hotmail.com> escribió:

>
> Saludos, tengo un problema que no puedo resolver dentro del R
>
> Estoy creando una funcion que a partir de un objeto "x" compuesto por
> diferentes matrices como el que esta a continuacion:
>
> [[1]]
>     M1 M2 M3 M4
> sp1  2  0  1  8
> sp2  4  5  2  4
> sp3  0  0  4  0
> sp4  5  7  5  0
> sp5  0  4  0  0
> [[2]]
>     M3 M2 M4 M1
> sp1  1  0  8  2
> sp2  2  5  4  4
> sp3  4  0  0  0
> sp4  5  7  0  5
> sp5  0  4  0  0
> [[3]]
>     M4 M3 M1 M2
> sp1  8  1  2  0
> sp2  4  2  4  5
> sp3  0  4  0  0
> sp4  0  5  5  7
> sp5  0  0  0  4
> [[4]]
>     M3 M2 M4 M1
> sp1  1  0  8  2
> sp2  2  5  4  4
> sp3  4  0  0  0
> sp4  5  7  0  5
> sp5  0  4  0  0
> [[5]]
>     M2 M1 M4 M3
> sp1  0  2  8  1
> sp2  5  4  4  2
> sp3  0  0  0  4
> sp4  7  5  0  5
> sp5  4  0  0  0
>
> se generen "n" objetos, con la caracteristica de que el primer objeto este
> formado por las matrices pero solo con la primera columna, el segundo hasta
> la segunda columna ... asi hasta el ultimo que tendria las "n" columnas,
> siendo n el numero de columnas que poseen las matrices, asi cada objeto
> resultante seria por ejemplo:
> Primer objeto generado:
> [[1]]
>     M1
> sp1  2
> sp2  4
> sp3  0
> sp4  5
> sp5  0
> [[2]]
>     M3
> sp1  1
> sp2  2
> sp3  4
> sp4  5
> sp5  0
> [[3]]
>     M2
> sp1  0
> sp2  5
> sp3  0
> sp4  7
> sp5  4
> [[4]]
>     M4
> sp1  8
> sp2  4
> sp3  0
> sp4  0
> sp5  0
> [[5]]
>     M4
> sp1  8
> sp2  4
> sp3  0
> sp4  0
> sp5  0
>
> Segundo objeto generado:
> [[1]]
>     M1 M4
> sp1  2  8
> sp2  4  4
> sp3  0  0
> sp4  5  0
> sp5  0  0
> [[2]]
>     M3 M1
> sp1  1  2
> sp2  2  4
> sp3  4  0
> sp4  5  5
> sp5  0  0
> [[3]]
>     M2 M3
> sp1  0  1
> sp2  5  2
> sp3  0  4
> sp4  7  5
> sp5  4  0
> [[4]]
>     M4 M3
> sp1  8  1
> sp2  4  2
> sp3  0  4
> sp4  0  5
> sp5  0  0
> [[5]]
>     M4 M2
> sp1  8  0
> sp2  4  5
> sp3  0  0
> sp4  0  7
> sp5  0  4
>
> asi hasta tener el ultimo objeto cuyas matrices tendrian 4 columnas en
> este caso.
>
> Esta es la funcion que he escrito:
>
> funcion.1=function(x,n){
> for (i in 1:n)
> orden.3=lapply(x,subset,select=1:i)
> nam=paste("r",i,sep=".")
> orden.4=assign(nam,orden.3)}
>
> despues de correr la funcion en la consola, y aplicar la funcion que he
> creado, me sale objeto i no encontrado, no entiendo por que pasa eso, si en
> el bucle estoy diciendo que i va desde 1 a "n" y las demas ordenes tienen
> al objeto i indicado.
> Agradesco su ayuda de antemano
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
>      997603768
>
>
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]

