Hola Olivier, muchas gracias. Tu respuesta es exactamente lo que necesitaba.

saludos,

Fernando


Mira por ejemplo la función combinations del paquete gtools, es posible que 
ayude a solucionar tu problema.
 
 > require(gtools)
 > m=3;n=5
 > combinations(n,m)
       [,1] [,2] [,3]
  [1,]    1    2    3
  [2,]    1    2    4
  [3,]    1    2    5
  [4,]    1    3    4
  [5,]    1    3    5
  [6,]    1    4    5
  [7,]    2    3    4
  [8,]    2    3    5
  [9,]    2    4    5
[10,]    3    4    5
 
 
Un saludo. Olivier
--
____________________________________

Olivier G. Nuñez
Email: onunez@iberstat.es
Tel : +34 663 03 69 09
Web: http://www.iberstat.es

____________________________________




El 09/12/2010, a las 22:55, Fernando Sanchez escribió:

> Hola a todos, como bien sabéis, se llama combinaciones de m elementos 
> tomados de n en n (m ≥ n) a todas las agrupaciones posibles que pueden 
> hacerse con los m elementos de forma que: no entran todos los 
> elementos, no importa el orden y no se repiten los elementos.
> 
> En mi caso, quiero hacer una lista que contenga todas las 
> combinaciones de m elementos tomados de n en n. He programado el 
> siguiente código que creo es
> correcto:
> 
> a<-0
> b<-0
> for (i in 1:18) {
>             for (j in 1:17) {
>             for (k in 1:16) {
>             for (l in 1:15) {
>             for (m in 1:14) {
>             for (n in 1:13) {
>             for (o in 1:12) {
>             for (p in 1:11) {
> if(i!=j & i!=k & i!=l & i!=m & i!=n & i!=o & i!=p & j!=k & j!=l & j! 
> =m & j!=n &
> j!=o & j!=p & k!=l & k!=m & k!=n & k!=o & k!=p ) { # hago dos if por 
> claridad y longitud de la instrucción if(l!=m & l!=n & l!=o & l!=p & 
[[elided Yahoo spam]]
> =p) {
> 
>             b<-cbind(i,j,k,l,m,n,o,p)
> 
>             a<-rbind(a,b)
>             }
>             }
>             }
>             }
>             }
>             }
>             }
>             }
>             }
>             }
> 
> Este código tiene desde mi punto de vista dos problemas:
> a-      Tarda mucho en ejecutarse.
> b-     No es elegante.
> 
> Mi pregunta es: ¿se os ocurre alguna forma más sencilla de hacer lo 
> mismo?
> 
> Saludos y muchas gracias,
> 
> Fernando
> 
> 
> 
>     [[alternative HTML version deleted]]
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



      
	[[alternative HTML version deleted]]

