
Gracias por responder, la forma como yo he echo es la siguiente:
 
data=
 
            M1    M2     M3    M4  ....M300
sp1        1       0       0       0          0
sp2        0       1       0       0          0
sp3        0       0       1       0          0
sp4        0       0       0       1          0
.
.
.
sp300    0       0       0       0           1

Esta matriz es de 300x300, con un valor de 1 en cada celda solamente,he echo lo siguiente
 
a=replicate(1000,sample(data,size=90),simplify=F) 
 
lapply(lapply(lapply(a,t),colSums),data.frame),t
 
y asi voy a tener 1000 matrices con 90 valores de 1 asignados en posiciones diferentes.
 
.....Hasta aca no hay problema......
 
El problema es cuando he generado una funcion para que me de como resultados todas las posibilidades osea cuando solo habria un "1", dos "1", tres "1", 4, 5 .... asi hasta 300. En el caso de arriba lo he echo solo para 90. El problema es cuando corro la funcion para que me saque de todos, he ahi cuando el R se me cierra, no me da ningun error, solo se cierra el programa. Mi computadora tiene 8GB de RAM. Gracias por la ayuda
 

Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
     997603768
 

 



Date: Mon, 14 Jan 2013 15:21:48 -0300
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: daniel319@gmail.com
To: javier.ruben.marcuzzi@gmail.com
CC: gabriel_enter@hotmail.com; r-help-es@r-project.org


La sugerencia de Javier probablemente sea la mas efectiva. De cualquier forma ten en cuenta si el data.frame que creas es muy grande para la memoria RAM disponible en tu equipo. Si tienes un data.frame de 1.500.000 filas y 120 columnas, siendo numéricas todas, el monto aproximado de memoria requerido para guardar ese data.frame es: 
1.500.000 * 120 * 8 bytes/numeric = 1440000000 bytes, o 1.373,29 MB, o 1.34 GB.


¿Probaste las rutinas de Carlos Ortega o Jorge I Velez?. Corrí, sin pensar en los argumentos ni en el resultados, la rutina de Jorge I Velez con el siguiente resultado:


system.time(checkf <- f(100, 100, 100000))  
   user  system elapsed 
   4.65    0.30    6.43



 sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: i386-w64-mingw32/i386 (32-bit)


locale:
[1] LC_COLLATE=Spanish_Argentina.1252  LC_CTYPE=Spanish_Argentina.1252   
[3] LC_MONETARY=Spanish_Argentina.1252 LC_NUMERIC=C                      
[5] LC_TIME=Spanish_Argentina.1252    


attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base 


¿Recibes algún mensaje como "Error: cannot allocate vector of size xxx Mb"?




Daniel Merino

El 14 de enero de 2013 11:54, Marcuzzi, Javier <javier.ruben.marcuzzi@gmail.com> escribió:

Gabriel

Si colocas esa otra forma en esta lista de correo se podría ver si hay
un problema ejecutando ese código en otra computadora. Sin poder ver el
código R es probable que este sea ineficiente, porque consume tantos
recursos informáticos que el sistema operativo cierra a R. Pero claro,
es solo una posibilidad, sin analizar el código creo que ninguno de
nosotros puede ayudarte.

Javier
El lun, 14-01-2013 a las 17:18 +0000, Gabriel Trujillo Paucar escribió:

> Gracias por responder, encontre otra forma tambien de hacer las repeticiones, sin embargo cuando corro para 1000 repeticiones o incluso para 100, el R se queda cargando un buen tiempo y despues de un rato se cierra solo. Si solo le doy 50 repeticiones se demora un poco pero al final si me da el resultado que espero, sin embargo a mas repeticiones el programa se me cierra solo, y es que yo necesito hacer bastantes repeticiones como unas 1000, hay alguna forma de evitar este problema o esta es una deficiencia en el R?.
>
> Agradezco de antemano su ayuda
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
>      997603768
>
>
>
>
>
>

> Date: Fri, 11 Jan 2013 23:31:28 +0100
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: cof@qualityexcellence.es
> To: gabriel_enter@hotmail.com
> CC: daniel319@gmail.com; r-help-es@r-project.org
>
>
> Hola,
>
>
> Con esta funcin puedes generar el conjunto (las veces que quieras, los unos que quieras) de un golpe:

>
>
> ###################
>
>
>
>
> goo <- function(cuantas.veces, cuantos.unos) {
>        sim.val <- data.frame(0)
>        for(i in 1:cuantas.veces) {
>          y <- sample(c(1:10), cuantos.unos)
>          w <- rep(0,10)
>          w[y] <- 1
>          sim.val <- cbind(sim.val,w)
>        }
>        rownames(sim.val) <- letters[1:10]
>        return(sim.val[2:dim(sim.val)[2]])
> }
>
>
> ###################
>
>
> Y un ejemplo de los resultados que ofrece:
>
>
>
> goo(7,2) # Siete rplicas y dos unos por rplica

>   w w.1 w.2 w.3 w.4 w.5 w.6
> a 0   0   0   0   0   0   0
> b 0   1   0   0   1   0   0
> c 0   0   0   0   0   1   0
> d 0   0   0   0   0   0   0
> e 0   0   1   0   0   0   1
> f 1   1   1   0   0   0   0
> g 0   0   0   0   0   0   0
> h 0   0   0   1   0   0   0
> i 1   0   0   0   0   1   0
> j 0   0   0   1   1   0   1
>
>
>
> > goo(7,3) # Siete rplicas y tres unos por rplica

>   w w.1 w.2 w.3 w.4 w.5 w.6
> a 0   1   1   1   1   0   0
> b 0   0   0   1   0   0   0
> c 1   0   1   1   0   1   0
> d 0   0   1   0   0   0   0
> e 0   0   0   0   0   0   0
> f 0   1   0   0   0   0   1
> g 0   0   0   0   0   0   1
> h 1   0   0   0   1   1   1
> i 1   1   0   0   0   1   0
> j 0   0   0   0   1   0   0
>
>
>
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
>
> El 11 de enero de 2013 22:21, Gabriel Trujillo Paucar <gabriel_enter@hotmail.com> escribi:


>
>
> Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes cantidades de "1" en mis filas, lo que necesito es poder ubicar un "1" al azar en cualquiera de las filas, y esto repetirlo unas 50 veces por ejemplo(para este caso solo lo puse 3 veces):
>
>     M1
> A   1
> B   0
> C   0
> D   0
> E   0
> F   0
> G   0
>
>     M1
> A   0
> B   0
> C   0
> D   1
> E   0
> F   0
> G   0
>
>     M1
> A   0
> B   1
> C   0
> D   0
> E   0
> F   0
> G   0
>
> y depues ubicar dos "1" en cualquiera de las filas al azar y repetirlo como lo hice en el caso anterior:
>
>     M1
> A   1
> B   1
> C   0
> D   0
> E   0
> F   0
> G   0
>
>     M1
> A   1
> B    0
> C    0
> D   1
> E    0
> F    0
> G    0
>
>     M1
> A   0
> B   0
> C   1
> D   1
> E   0
> F   0
> G   0
>
> y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque despues voy a hacer un grafico con estos.
>
> Agradesco de antemano por su respuesta
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
>      997603768
>
>
>
>
>
>
> Date: Thu, 10 Jan 2013 17:16:37 -0300
>
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: daniel319@gmail.com
> To: gabriel_enter@hotmail.com
> CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
>
>
>
> ?sample
>
>
>
> data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
>
>
> Daniel Merino
>
> El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar <gabriel_enter@hotmail.com> escribi:

>
>
> Gracias por responder Javier.
>
> Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una vez que los "1" ya esten colocados, los demas espacios serian rellenados con "ceros".
>
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
>      997603768
>
>
>
>
> > Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> > From: javier.ruben.marcuzzi@gmail.com
> > To: gabriel_enter@hotmail.com
> > CC: r-help-es@r-project.org
> > Date: Thu, 10 Jan 2013 11:51:49 -0300
>
>
> >
> > Estimado Gabriel
> >
> > Si, es posible y hay muchas formas.
> >
> > Te envo un link, dentro de este pdf que se puede descargar mira la
> > parte de random ... cundo genera nmeros al azar.

> >
> > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> > espacios vacos sin nmeros o NA, pero no importa, una idea es que si
> > los nmeros que genera al azar estn por debajo a arriba (mayor o menor)

> > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> > nada.
> > www.ugr.es/~proman/PDF/Simulacion_R.pdf
> >
> > Tambin creo que se podra realizar de una forma ms eficiente.
> >
> > Javier
> >
> > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribi:


> > > Saludos.
> > >
> > > Quisiera saber si existe una funcion para poder colocar valores de 1 al azar dentro de un data.frame, para tener lo siguiente
> > >
> > > data.frame1:
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > > 1
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame2:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > > 1
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame3:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > > 1
> > >
> > > G
> > >
> > >
> > >
> > > Como veran necesito que me coloque valores de 1 en cualquiera de las posiciones y ademas poder repetir esto, de manera que pueda tener varios data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en el caso de arriba es solo para dos filas, pero tambien quisiera saber para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual, pero despues de esto necesito generar una funcion.
> > >
> > > Les agradezco de antemano por su atencion
> > >
> > > 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
> >
> >
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
>
> --
> Daniel
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es



-- 
Daniel 		 	   		  
	[[alternative HTML version deleted]]

