Marcuzzi, Javier Rubén
2013-Jan-10 14:51 UTC
[R-es] Generacion de numeros al azar en data.frame
Estimado Gabriel Si, es posible y hay muchas formas. Te envío un link, dentro de este pdf que se puede descargar mira la parte de random ... cuándo genera números al azar. Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja espacios vacíos sin números o NA, pero no importa, una idea es que si los números que genera al azar están 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 También creo que se podría realizar de una forma más 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
Gabriel Trujillo Paucar
2013-Jan-10 17:37 UTC
[R-es] Generacion de numeros al azar en data.frame
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]]
Gabriel Trujillo Paucar
2013-Jan-10 19:13 UTC
[R-es] Generacion de numeros al azar en data.frame
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 envío un link, dentro de este pdf que se puede descargar mira la > parte de random ... cuándo genera números al azar. > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > espacios vacíos sin números o NA, pero no importa, una idea es que si > los números que genera al azar están 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 > > También creo que se podría realizar de una forma más 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]]
?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 envío un link, dentro de este pdf que se puede descargar mira la > > parte de random ... cuándo genera números al azar. > > > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > > espacios vacíos sin números o NA, pero no importa, una idea es que si > > los números que genera al azar están 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 > > > > También creo que se podría realizar de una forma más 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]]
Gabriel Trujillo Paucar
2013-Jan-11 21:21 UTC
[R-es] Generacion de numeros al azar en data.frame
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 envío un link, dentro de este pdf que se puede descargar mira la > parte de random ... cuándo genera números al azar. > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > espacios vacíos sin números o NA, pero no importa, una idea es que si > los números que genera al azar están 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 > > También creo que se podría realizar de una forma más 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]]
Hola, Con esta función 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 réplicas y dos unos por réplica 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 réplicas y tres unos por réplicaw 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 envío un link, dentro de este pdf que se puede descargar mira la > > parte de random ... cuándo genera números al azar. > > > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > > espacios vacíos sin números o NA, pero no importa, una idea es que si > > los números que genera al azar están 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 > > > > También creo que se podría realizar de una forma más 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 > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Hola. Contesto rápidamente sin comprobar. Creo que con sample(c(rep(1,n),7-n)) donde n es la cantidad de 1 que necesitas en cada corrida. Utilizo 7 porque usas desde A hasta G. Ojalá te ayude. El 11/01/2013 16:52, "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 1... _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Hola Gabriel, Podrias intentar lo siguiente: f <- function(unos, filas, B = 10) replicate(B, { x <- rep(0, filas) x[sample(filas, unos)] <- 1 names(x) <- LETTERS[1:filas] x }) f(1, 5) f(2, 10) f(3, 10, 50) # 50 replicas, 3 unos por replica, 10 filas Saludos, Jorge.- 2013/1/12 Gabriel Trujillo Paucar <>> > 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 envío un link, dentro de este pdf que se puede descargar mira la > > parte de random ... cuándo genera números al azar. > > > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > > espacios vacíos sin números o NA, pero no importa, una idea es que si > > los números que genera al azar están 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 > > > > También creo que se podría realizar de una forma más 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 > >[[alternative HTML version deleted]]
Marcuzzi, Javier Rubén
2013-Jan-14 14:54 UTC
[R-es] Generacion de numeros al azar en data.frame
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
Gabriel Trujillo Paucar
2013-Jan-14 17:18 UTC
[R-es] Generacion de numeros al azar en data.frame
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 función 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 réplicas y dos unos por réplica 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 réplicas y tres unos por réplicaw 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 envío un link, dentro de este pdf que se puede descargar mira la > parte de random ... cuándo genera números al azar. > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > espacios vacíos sin números o NA, pero no importa, una idea es que si > los números que genera al azar están 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 > > También creo que se podría realizar de una forma más 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 -- Saludos,Carlos Ortegawww.qualityexcellence.es [[alternative HTML version deleted]]
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]]
Gabriel Trujillo Paucar
2013-Jan-14 20:33 UTC
[R-es] Generacion de numeros al azar en data.frame
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]]
Permíteme repasar tu mensaje, soy algo lento y eso me ayuda. # Tu tienes una matrix diagonal de 300 x 300 con obviamente 300 unos. Seguramente solo a titulo ilustrativo. data <- diag(1, 300, 300) data[1:10, 1:10] class(data) str(data) # Con esa matriz generas 1000 listas de una lista de 300 números que tienen en algún lugar unos, uno o no los tienen, y que en total son 1048 (para el seed 123) set.seed(123) a=replicate(1000,sample(data,size=300),simplify=F) class(a) class(a[1]) class(a[1][[1]]) sum(a[1][[1]]) sum(a[7][[1]]) sum(a[33][[1]]) sum(a[375][[1]]) sum(a[999][[1]]) abis=replicate(1000,sample(data,size=300),simplify=TRUE) colSums(abis) sum(colSums(abis)) str(a) # No entiendo para que haces esta segunda parte. df<- lapply(lapply(lapply(a,t),colSums),data.frame) class(df) class(df[1]) class(df[1][[1]]) sum(df[1][[1]]) sum(df[7][[1]]) sum(df[33][[1]]) sum(df[375][[1]]) sum(df[999][[1]]) # Hasta aquí llegué a la primer parte de tu planteo y me parece que no entiendo lo que dices o no entiendo tu objetivo ya que no me parece que estes obteniendo lo que declaras. # Para la segunda parte, tomando prestada la función de Jorge Velez, me parece que quieres hacer para la cantidad de unos por réplica i de 1 a 300, lo siguiente: jv <- f(i,300,1000) # no creo que por hacer un bucle 1:300 se pueda colgar, aunque no se si eso buscas. colSums(jv) Lamento pero puedo ayudarte con el motivo por el cual se te "cuelga" o cierra R con tu función, no la conozco, pero apostaría a que no es un problema de R. Daniel Merino El 14 de enero de 2013 17:33, Gabriel Trujillo Paucar < gabriel_enter@hotmail.com> escribió:> lapply(lapply(lapply(a,t),colSums),data.frame) >-- Daniel [[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-18 05:06 UTC
[R-es] Generacion de numeros al azar en data.frame
Disculpen por demorar en responder, aun tengo el problema de las randomizaciones, sin embargo para al final realizar lo que necesito me he dado cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo una duda con un grafico de contorno de probabilidad. Usando el package car, he podido hacer lo siguiente: Datos 1: #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x ,y, levels=0.80, center.pch=F, plot.points=F, add=F)################################################### Obtengo un grafico sin mostrar los valores de x e y pero si la region de la probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros dos pares de datos para ver si es que se ubican dentro de la region de probabilidad ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer cual es cual Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de datos distintos Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de Datos 2: ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=F)################################################ y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada origen de datos que le pertence a cada una Agradesco de antemano por su atencion Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 Date: Mon, 14 Jan 2013 18:54:56 -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 Permíteme repasar tu mensaje, soy algo lento y eso me ayuda. # Tu tienes una matrix diagonal de 300 x 300 con obviamente 300 unos. Seguramente solo a titulo ilustrativo.data <- diag(1, 300, 300) data[1:10, 1:10]class(data)str(data) # Con esa matriz generas 1000 listas de una lista de 300 números que tienen en algún lugar unos, uno o no los tienen, y que en total son 1048 (para el seed 123) set.seed(123)a=replicate(1000,sample(data,size=300),simplify=F) class(a)class(a[1])class(a[1][[1]])sum(a[1][[1]])sum(a[7][[1]])sum(a[33][[1]]) sum(a[375][[1]])sum(a[999][[1]])abis=replicate(1000,sample(data,size=300),simplify=TRUE) colSums(abis)sum(colSums(abis))str(a) # No entiendo para que haces esta segunda parte. df<- lapply(lapply(lapply(a,t),colSums),data.frame)class(df)class(df[1])class(df[1][[1]])sum(df[1][[1]])sum(df[7][[1]])sum(df[33][[1]])sum(df[375][[1]]) sum(df[999][[1]]) # Hasta aquí llegué a la primer parte de tu planteo y me parece que no entiendo lo que dices o no entiendo tu objetivo ya que no me parece que estes obteniendo lo que declaras. # Para la segunda parte, tomando prestada la función de Jorge Velez, me parece que quieres hacer para la cantidad de unos por réplica i de 1 a 300, lo siguiente: jv <- f(i,300,1000) # no creo que por hacer un bucle 1:300 se pueda colgar, aunque no se si eso buscas. colSums(jv) Lamento pero puedo ayudarte con el motivo por el cual se te "cuelga" o cierra R con tu función, no la conozco, pero apostaría a que no es un problema de R. Daniel Merino El 14 de enero de 2013 17:33, Gabriel Trujillo Paucar <gabriel_enter@hotmail.com> escribió: lapply(lapply(lapply(a,t),colSums),data.frame) -- Daniel [[alternative HTML version deleted]]
Hola Gabriel, Podrias intentar lo siguiente: # elipse inicial require(car) x=rnorm(100) y=1+0.3*x+0.3*rnorm(100) dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim range(y, d$y)) # puntos a agregar d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) with(d, points(x, y, pch = rownames(d), col = "blue")) # nueva elipse x=rnorm(100) y=1+0.4*x+0.4*rnorm(100) dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') Espero te sirva. Jorge.- 2013/1/18 Gabriel Trujillo Paucar <>> > Disculpen por demorar en responder, aun tengo el problema de las > randomizaciones, sin embargo para al final realizar lo que necesito me he > dado cuenta queno es necesario hacer con todas las posibilidades, sin > embargo tengo una duda con un grafico de contorno de probabilidad. > Usando el package car, he podido hacer lo siguiente: > Datos 1: > #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x > ,y, levels=0.80, center.pch=F, plot.points=F, > add=F)################################################### > Obtengo un grafico sin mostrar los valores de x e y pero si la region de > la probabilidad indicada,sin embargo me gustaria introducir en ese grafico > otros dos pares de datos para ver si es que se ubican dentro de la region > de probabilidad > > ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### > Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre > de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del > grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer > cual es cual > Mi segunda duda es poder superponer dos lineas de contorno de > probabilidad, con el mismo levels de 0.80, sin embargo que estas dos > provengan de un origen de datos distintos > Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de > Datos 2: > ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, > y, levels=0.80, center.pch=F, > add=F)################################################ > y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de > probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada > origen de datos que le pertence a cada una > Agradesco de antemano por su atencion > > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > >[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-19 17:13 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por reponder Jorge, pero cuando corro en la consola lo que pusiste me sale lo siguiente: Error en plot.xy(xy.coords(x, y), type = type, ...) : plot.new no ha sido llamado aún Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 From: jorgeivanvelez@gmail.com Date: Fri, 18 Jan 2013 17:14:52 +1100 Subject: Re: [R-es] Generacion de numeros al azar en data.frame To: gabriel_enter@hotmail.com CC: r-help-es@r-project.org Hola Gabriel, Podrias intentar lo siguiente: # elipse inicialrequire(car)x=rnorm(100)y=1+0.3*x+0.3*rnorm(100) dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim = range(y, d$y)) # puntos a agregard <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) with(d, points(x, y, pch = rownames(d), col = "blue")) # nueva elipsex=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') Espero te sirva.Jorge.- 2013/1/18 Gabriel Trujillo Paucar <> Disculpen por demorar en responder, aun tengo el problema de las randomizaciones, sin embargo para al final realizar lo que necesito me he dado cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo una duda con un grafico de contorno de probabilidad. Usando el package car, he podido hacer lo siguiente: Datos 1: #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x ,y, levels=0.80, center.pch=F, plot.points=F, add=F)################################################### Obtengo un grafico sin mostrar los valores de x e y pero si la region de la probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros dos pares de datos para ver si es que se ubican dentro de la region de probabilidad ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer cual es cual Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de datos distintos Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de Datos 2: ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=F)################################################ y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada origen de datos que le pertence a cada una Agradesco de antemano por su atencion Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 [[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-19 17:28 UTC
[R-es] Generacion de numeros al azar en data.frame
Encontre donde me estaba equivocando. Gracias, me sirvio de mucho. Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 From: jorgeivanvelez@gmail.com Date: Fri, 18 Jan 2013 17:14:52 +1100 Subject: Re: [R-es] Generacion de numeros al azar en data.frame To: gabriel_enter@hotmail.com CC: r-help-es@r-project.org Hola Gabriel, Podrias intentar lo siguiente: # elipse inicialrequire(car)x=rnorm(100)y=1+0.3*x+0.3*rnorm(100) dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim = range(y, d$y)) # puntos a agregard <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) with(d, points(x, y, pch = rownames(d), col = "blue")) # nueva elipsex=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') Espero te sirva.Jorge.- 2013/1/18 Gabriel Trujillo Paucar <> Disculpen por demorar en responder, aun tengo el problema de las randomizaciones, sin embargo para al final realizar lo que necesito me he dado cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo una duda con un grafico de contorno de probabilidad. Usando el package car, he podido hacer lo siguiente: Datos 1: #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x ,y, levels=0.80, center.pch=F, plot.points=F, add=F)################################################### Obtengo un grafico sin mostrar los valores de x e y pero si la region de la probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros dos pares de datos para ver si es que se ubican dentro de la region de probabilidad ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer cual es cual Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de datos distintos Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de Datos 2: ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=F)################################################ y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada origen de datos que le pertence a cada una Agradesco de antemano por su atencion Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 [[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-19 22:35 UTC
[R-es] Generacion de numeros al azar en data.frame
Una ultima pregunta, cuando coloco: d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) pero en vez de poner de nombres de fila A y B coloco: d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("Asr","Bst")) en el grafico solo me aparece "A" y "B", ¿Es que las etiquetas de los datos solo pueden albergar un caracter o existe la manera para que me salga en la etiqueta "Asr" y "Bst" completamente. Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 From: jorgeivanvelez@gmail.com Date: Fri, 18 Jan 2013 17:14:52 +1100 Subject: Re: [R-es] Generacion de numeros al azar en data.frame To: gabriel_enter@hotmail.com CC: r-help-es@r-project.org Hola Gabriel, Podrias intentar lo siguiente: # elipse inicialrequire(car)x=rnorm(100)y=1+0.3*x+0.3*rnorm(100) dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim = range(y, d$y)) # puntos a agregard <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) with(d, points(x, y, pch = rownames(d), col = "blue")) # nueva elipsex=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') Espero te sirva.Jorge.- 2013/1/18 Gabriel Trujillo Paucar <> Disculpen por demorar en responder, aun tengo el problema de las randomizaciones, sin embargo para al final realizar lo que necesito me he dado cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo una duda con un grafico de contorno de probabilidad. Usando el package car, he podido hacer lo siguiente: Datos 1: #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x ,y, levels=0.80, center.pch=F, plot.points=F, add=F)################################################### Obtengo un grafico sin mostrar los valores de x e y pero si la region de la probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros dos pares de datos para ver si es que se ubican dentro de la region de probabilidad ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer cual es cual Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de datos distintos Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de Datos 2: ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=F)################################################ y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada origen de datos que le pertence a cada una Agradesco de antemano por su atencion Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 [[alternative HTML version deleted]]
Gabriel, Basta reemplazar with(d, points(x, y, pch = rownames(d), col = "blue")) por with(d, text(x, y, rownames(d), col = "blue")) en el codigo que te envie inicialmente. Saludos, Jorge.- 2013/1/20 Gabriel Trujillo Paucar <>> Una ultima pregunta, cuando coloco: > > d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) > > pero en vez de poner de nombres de fila A y B coloco: > > d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("Asr","Bst")) > > en el grafico solo me aparece "A" y "B", ¿Es que las etiquetas de los > datos solo pueden albergar un caracter o existe la manera para que me salga > en la etiqueta "Asr" y "Bst" completamente. > > > *Gabriel Antonio Trujillo Paucar* > *Estudiante de Biologia* > * 997603768* > > > > ------------------------------ > From: > Date: Fri, 18 Jan 2013 17:14:52 +1100 > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > To: gabriel_enter@hotmail.com > CC: r-help-es@r-project.org > > > Hola Gabriel, > > Podrias intentar lo siguiente: > > # elipse inicial > require(car) > x=rnorm(100) > y=1+0.3*x+0.3*rnorm(100) > dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim > range(y, d$y)) > > # puntos a agregar > d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) > with(d, points(x, y, pch = rownames(d), col = "blue")) > > # nueva elipse > x=rnorm(100) > y=1+0.4*x+0.4*rnorm(100) > dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') > legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') > > Espero te sirva. > Jorge.- > > > > 2013/1/18 Gabriel Trujillo Paucar <> > > > Disculpen por demorar en responder, aun tengo el problema de las > randomizaciones, sin embargo para al final realizar lo que necesito me he > dado cuenta queno es necesario hacer con todas las posibilidades, sin > embargo tengo una duda con un grafico de contorno de probabilidad. > Usando el package car, he podido hacer lo siguiente: > Datos 1: > #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x > ,y, levels=0.80, center.pch=F, plot.points=F, > add=F)################################################### > Obtengo un grafico sin mostrar los valores de x e y pero si la region de > la probabilidad indicada,sin embargo me gustaria introducir en ese grafico > otros dos pares de datos para ver si es que se ubican dentro de la region > de probabilidad > > ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### > Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre > de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del > grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer > cual es cual > Mi segunda duda es poder superponer dos lineas de contorno de > probabilidad, con el mismo levels de 0.80, sin embargo que estas dos > provengan de un origen de datos distintos > Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de > Datos 2: > ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, > y, levels=0.80, center.pch=F, > add=F)################################################ > y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de > probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada > origen de datos que le pertence a cada una > Agradesco de antemano por su atencion > > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > >[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-22 19:31 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por la ayuda Jorge, me salio bien. Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 From: gabriel_enter@hotmail.com To: jorgeivanvelez@gmail.com CC: r-help-es@r-project.org Subject: RE: [R-es] Generacion de numeros al azar en data.frame Date: Sat, 19 Jan 2013 22:35:50 +0000 Una ultima pregunta, cuando coloco: d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) pero en vez de poner de nombres de fila A y B coloco: d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("Asr","Bst")) en el grafico solo me aparece "A" y "B", ¿Es que las etiquetas de los datos solo pueden albergar un caracter o existe la manera para que me salga en la etiqueta "Asr" y "Bst" completamente. Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 From: jorgeivanvelez@gmail.com Date: Fri, 18 Jan 2013 17:14:52 +1100 Subject: Re: [R-es] Generacion de numeros al azar en data.frame To: gabriel_enter@hotmail.com CC: r-help-es@r-project.org Hola Gabriel, Podrias intentar lo siguiente: # elipse inicial require(car) x=rnorm(100) y=1+0.3*x+0.3*rnorm(100) dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim = range(y, d$y)) # puntos a agregar d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) with(d, points(x, y, pch = rownames(d), col = "blue")) # nueva elipse x=rnorm(100) y=1+0.4*x+0.4*rnorm(100) dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') Espero te sirva. Jorge.- 2013/1/18 Gabriel Trujillo Paucar <> Disculpen por demorar en responder, aun tengo el problema de las randomizaciones, sin embargo para al final realizar lo que necesito me he dado cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo una duda con un grafico de contorno de probabilidad. Usando el package car, he podido hacer lo siguiente: Datos 1: #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x ,y, levels=0.80, center.pch=F, plot.points=F, add=F)################################################### Obtengo un grafico sin mostrar los valores de x e y pero si la region de la probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros dos pares de datos para ver si es que se ubican dentro de la region de probabilidad ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer cual es cual Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de datos distintos Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de Datos 2: ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80, center.pch=F, add=F)################################################ y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada origen de datos que le pertence a cada una Agradesco de antemano por su atencion Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 [[alternative HTML version deleted]]
Hola Gabriel, La solucion planteada por Eva funciona a la perfeccion. Sin embargo, creo que te beneficiarias enormemente si revisaras las funciones ?ifelse y ?"%in%" Saludos, Jorge.- 2013/1/25 Eva Prieto Castro <evapcastro@yahoo.es>> Hola, Gabriel: > > La función corregida es ésta: > > ABI <- function(x){ > MIBpa <- x > turb1<-5*MIBpa[match("PTUR-001",row.names(MIBpa)),] > > if(MIBpa[match("MGAS-001",row.names(MIBpa)),]==1||MIBpa[match("MGAS-002",row.names(MIBpa)),]==1){ > Coc2=3} else {if(MIBpa[match("MGAS-001",*row.names* > (MIBpa)),]==0&&MIBpa[match("MGAS-002",row.names(MIBpa)),]==0){ > Coc2=0}}} > > > Tenías un row en lugar de un row.names. > > Saludos. > > Eva > > > --- El *jue, 24/1/13, Gabriel Trujillo Paucar <gabriel_enter@hotmail.com>*escribió: > > > De: Gabriel Trujillo Paucar <gabriel_enter@hotmail.com> > Asunto: RE: [R-es] Ayuda con el bucle if > Para: "evapcastro@yahoo.es" <evapcastro@yahoo.es>, > jorgeivanvelez@gmail.com > CC: "r-help-es@r-project.org" <r-help-es@r-project.org> > Fecha: jueves, 24 de enero, 2013 21:58 > > > > Saludos una ultima pregunta, he creado una funcion en el bucle if la cual > es: > ##################################### > > ABI <- function(x){ > MIBpa <- x > turb1<-5*MIBpa[match("PTUR-001",row.names(MIBpa)),] > > if(MIBpa[match("MGAS-001",row.names(MIBpa)),]==1||MIBpa[match("MGAS-002",row.names(MIBpa)),]==1){ > Coc2=3} else > {if(MIBpa[match("MGAS-001",row(MIBpa)),]==0&&MIBpa[match("MGAS-002",row.names(MIBpa)),]==0){ > Coc2=0}}} > ##################################### > y tengo mi matriz : > ##################################### > a=data.frame(M1=c(1,0,0),row.names=c("PTUR-001","MGAS-001","MGAS-002")) > ##################################### > Cuando corro la funcion con mi matriz "a" me sale el siguiente mensaje: > Error in if (MIBpa[match("MGAS-001", row(MIBpa)), ] == 0 && > MIBpa[match("MGAS-002", : > missing value where TRUE/FALSE needed > No se donde estaria mi error, porque lo que deseo en el bucle if es que el > objeto "Coc2" que crea me de valor de 3 cuando en el data.frame para la > fila"MGAS-001" o "MGAS-002" tengan valor de 1 cualquiera de los dos y en el > caso de que ambos sean ceros, el objeto "Coc2" me de un valor de "0". > > Agradesco de antemano por su ayuda. > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > ________________________________ > > Date: Thu, 24 Jan 2013 07:40:08 +0000 > > From: evapcastro@yahoo.es <http://mc/compose?to=evapcastro@yahoo.es> > > Subject: Re: [R-es] Ayuda con el bucle if > > To: jorgeivanvelez@gmail.com<http://mc/compose?to=jorgeivanvelez@gmail.com>; > gabriel_enter@hotmail.com <http://mc/compose?to=gabriel_enter@hotmail.com> > > CC: r-help-es@r-project.org<http://mc/compose?to=r-help-es@r-project.org> > > > > Hola Gabriel, > > > > Después del "else" tiene que ir una asignación o un bloque, pero no > > puede ir directamente una condición, sin precederlo de un "if". > > > > Adapta tu ejemplo a esta estructura: > > > > if (a==1){ > > b=2 > > }else{if (a==2){ > > b=3} > > } > > > > Es un modo de hacerlo. > > > > Saludos. > > > > --- El jue, 24/1/13, Gabriel Trujillo Paucar > > <gabriel_enter@hotmail.com<http://mc/compose?to=gabriel_enter@hotmail.com>> > escribió: > > > > De: Gabriel Trujillo Paucar <gabriel_enter@hotmail.com<http://mc/compose?to=gabriel_enter@hotmail.com>> > > > Asunto: [R-es] Ayuda con el bucle if > > Para: jorgeivanvelez@gmail.com<http://mc/compose?to=jorgeivanvelez@gmail.com> > > CC: "r-help-es@r-project.org<http://mc/compose?to=r-help-es@r-project.org>" > <r-help-es@r-project.org <http://mc/compose?to=r-help-es@r-project.org>> > > Fecha: jueves, 24 de enero, 2013 06:20 > > > > > > Saludos nuevamente, estaba encontrando otra forma para poder encontrar > > la solucion al problema que escribi anteriormente y creo que la > > encontre solo que tengo un problema con el bucle if. Tengo un marco de > > datos como sigue: > > > > ###################################### > > > > > MIBpa=data.frame(M1=c(1,1,0),row.names=c("MGAS-001","MGAS-002","MGAS-003")) > > > > ######################################### > > > > y he generado un bucle if > > > > ################## > > > > > if(as.numeric(match("MGAS-001",row.names(MIBpa)))==1||as.numeric(match("MGAS-002",row.names(MIBpa)))==1){ > > > Coc2=3} > > else > > > (as.numeric(match("MGAS-001",row.names(MIBpa)))==0||as.numeric(match("MGAS-002",row.names(MIBpa)))==0){ > > > Coc2=0} > > > > ####################### > > > > Para que me dos resultados distintos (un "3" si se da la primera > > situacion y un "0" si se da la segunda) pero cuando corro el bucle me > > sale > > el siguiente mensaje: > > > > Error: inesperado ''else'' en "else" > > > > NO se en que me estoy equivocando > > > > > > > > > > > > > > > > Gabriel Antonio Trujillo Paucar > > Estudiante de Biologia > > 997603768 > > > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org <http://mc/compose?to=R-help-es@r-project.org>< > http:///mc/compose?to=R-help-es%40r-project.org> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > >[[alternative HTML version deleted]]