[R-es] Generacion de numeros al azar en data.frame

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Lun Ene 14 15:54:45 CET 2013


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 en qualityexcellence.es
> To: gabriel_enter en hotmail.com
> CC: daniel319 en gmail.com; r-help-es en 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 en 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 en gmail.com
> To: gabriel_enter en hotmail.com
> CC: javier.ruben.marcuzzi en gmail.com; r-help-es en 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 en 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 en gmail.com
> > To: gabriel_enter en hotmail.com
> > CC: r-help-es en 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 en r-project.org
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> >
> 
>         [[alternative HTML version deleted]]
> 
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es en 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 en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
> 
> 
> 
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es