Buena noche a todos, Nuevamente requiero de su ayuda con algo puntual: 1. Tengo en el vector Muestras: rm(list = ls()) set.seed(2085089)# Fija Datos data<-matrix(-1,30,ncol=10)> MuestraS[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 0 0 0 1 1 0 1 1 1 Ahora, dentro de un bucle for voy a generar muestras aleatorias, pero requiero que en ese mismo proceso, apenas se tenga una muestra duplicada esta se sobrescriba, no he logrado que el bucle se quede en una posición y de esta manera generar una nueva muestra que no este duplicada. Para hace lo descrito en el parrafo anterior uso el siguiente código: a<-1 for (a in 1:30) { data [a,]<-sample(MuestraS,replace=T) if (sum(duplicated(data[1:a, ]))!=0){a<-a} else {a<-a+1} } No esta haciendo lo que requiero, se detecta el duplicado pero la muestra se generar y continua hasta llegar a 30 dejando el duplicado. No se si deba usar el bucle for o deberia cambiar por un while, pero no lo he podido lograr de ninguna de las dos formas. Un saludo, agradezco su colaboración con el tema. David C. [[alternative HTML version deleted]]
David: Por que no pruebas generando las 30 muestras _unicas_ de antemano y sobre estas calcular lo que necesitas? --JIV 2015-03-25 16:22 GMT+11:00 David Contreras <davidcontreras00 en gmail.com>:> Buena noche a todos, > > Nuevamente requiero de su ayuda con algo puntual: > > 1. Tengo en el vector Muestras: > > rm(list = ls()) > set.seed(2085089)# Fija Datos > > data<-matrix(-1,30,ncol=10) > > > MuestraS > [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] > [1,] 1 0 0 0 1 1 0 1 1 1 > > Ahora, dentro de un bucle for voy a generar muestras aleatorias, pero > requiero que en ese mismo proceso, apenas se tenga una muestra duplicada > esta se sobrescriba, no he logrado que el bucle se quede en una posición y > de esta manera generar una nueva muestra que no este duplicada. > Para hace lo descrito en el parrafo anterior uso el siguiente código: > > a<-1 > for (a in 1:30) { > data [a,]<-sample(MuestraS,replace=T) > if (sum(duplicated(data[1:a, ]))!=0){a<-a} > else {a<-a+1} > } > > No esta haciendo lo que requiero, se detecta el duplicado pero la muestra > se generar y continua hasta llegar a 30 dejando el duplicado. > No se si deba usar el bucle for o deberia cambiar por un while, pero no lo > he podido lograr de ninguna de las dos formas. > > Un saludo, agradezco su colaboración con el tema. > > > David C. > > [[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]]
Hola David, prueba con esto: a<-1 for (a in 1:30) { b<-0 while(b>0){b<-sum(duplicated(data[1:a,]));data [a,]<-sample(MuestraS,replace=T)} } Gerard Reverté -----Missatge original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nom de David Contreras Enviat: dimecres, 25 / març / 2015 06:23 Per a: r-help-es Tema: [R-es] BUCLE Buena noche a todos, Nuevamente requiero de su ayuda con algo puntual: 1. Tengo en el vector Muestras: rm(list = ls()) set.seed(2085089)# Fija Datos data<-matrix(-1,30,ncol=10)> MuestraS[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 0 0 0 1 1 0 1 1 1 Ahora, dentro de un bucle for voy a generar muestras aleatorias, pero requiero que en ese mismo proceso, apenas se tenga una muestra duplicada esta se sobrescriba, no he logrado que el bucle se quede en una posición y de esta manera generar una nueva muestra que no este duplicada. Para hace lo descrito en el parrafo anterior uso el siguiente código: a<-1 for (a in 1:30) { data [a,]<-sample(MuestraS,replace=T) if (sum(duplicated(data[1:a, ]))!=0){a<-a} else {a<-a+1} } No esta haciendo lo que requiero, se detecta el duplicado pero la muestra se generar y continua hasta llegar a 30 dejando el duplicado. No se si deba usar el bucle for o deberia cambiar por un while, pero no lo he podido lograr de ninguna de las dos formas. Un saludo, agradezco su colaboración con el tema. David C. [[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 Avís legal/Aviso legal La present informació s'envia únicament a la persona a la que va dirigida i pot contenir informació privilegiada o de caràcter confidencial. Qualsevol modificació, retransmissió, difusió o altre ús d'aquesta informació per persones o entitats diferents a la persona a la que va dirigida està prohibida. Si vostè l'ha rebut per error, si us plau contacti amb el remitent i esborri el missatge de qualsevol ordinador. En el cas que aquest missatge vagi a ser contestat per la mateixa via, ha de saber-se que la seva resposta podria ser coneguda per tercers a l'entrar a la xarxa. Per això, si el missatge inclou contrasenyes, números de targetes de crèdit o qualsevol altra informació que vostè consideri confidencial, seria més segur contestar per una altra via i cancel·lar la seva transmissió. L'Ajuntament de Mataró i els seus organismes dependents no poden assumir la responsabilitat derivada del fet de què terceres persones puguin arribar a conèixer el contingut d'aquest missatge durant la seva transmissió. La presente información se envía únicamente a la persona a la que va dirigida y puede contener información privilegiada o de carácter confidencial. Cualquier modificación, retransmisión, difusión u otro uso de esta información por persones o entidades diferentes a la persona a la que va dirigida está prohibida. Si usted la ha recibido por error, por favor contacte con el remitente y borre el mensaje. En el caso de que este mensaje vaya a ser contestado por la misma vía, ha de saberse que su respuesta podría ser conocida por terceros al entrar en la red. Por este motivo, si el mensaje incluye contraseñas, números de tarjetas de crédito o cualquier otra información que considere confidencial, sería más seguro contestar por otra vía y cancelar su transmisión. El Ayuntamiento de Mataró y sus organismos dependientes no pueden asumir la responsabilidad derivada del hecho de que terceras personas puedan llegar a conocer el contenido de este mensaje durante su transmisión. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20150325/5f3e8855/attachment.html>
Buen día, De antemano gracias por la respuesta tan oportuna, anoche después de muchas pruebas lo logré, dejo el código por si otra persona se enfrenta al mismo inconveniente: a<-1 while (a<=nf){ data [a,]<-sample(MuestraS,replace=T) if (a>1){ if (sum(duplicated(data[1:a, ]))!=0){a<-a} else {a<-a+1} }else {a<-a+1} } Saludos, David C. El 25 de marzo de 2015, 6:42, Reverté Calvet, Gerard <greverte en ajmataro.cat> escribió:> Hola David, prueba con esto: > > a<-1 > for (a in 1:30) { > b<-0 > while(b>0){b<-sum(duplicated(data[1:a,]));data > [a,]<-sample(MuestraS,replace=T)} > } > > > Gerard Reverté > > > > > -----Missatge original----- > De: R-help-es [mailto:r-help-es-bounces en r-project.org > <r-help-es-bounces en r-project.org>] En nom de David Contreras > Enviat: dimecres, 25 / març / 2015 06:23 > Per a: r-help-es > Tema: [R-es] BUCLE > > > Buena noche a todos, > > Nuevamente requiero de su ayuda con algo puntual: > > 1. Tengo en el vector Muestras: > > rm(list = ls()) > set.seed(2085089)# Fija Datos > > data<-matrix(-1,30,ncol=10) > > > MuestraS > [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] > [1,] 1 0 0 0 1 1 0 1 1 1 > > Ahora, dentro de un bucle for voy a generar muestras aleatorias, pero > requiero que en ese mismo proceso, apenas se tenga una muestra duplicada > esta se sobrescriba, no he logrado que el bucle se quede en una posición y > de esta manera generar una nueva muestra que no este duplicada. > Para hace lo descrito en el parrafo anterior uso el siguiente código: > > a<-1 > for (a in 1:30) { > data [a,]<-sample(MuestraS,replace=T) > if (sum(duplicated(data[1:a, ]))!=0){a<-a} > else {a<-a+1} > } > > No esta haciendo lo que requiero, se detecta el duplicado pero la muestra > se generar y continua hasta llegar a 30 dejando el duplicado. > No se si deba usar el bucle for o deberia cambiar por un while, pero no lo > he podido lograr de ninguna de las dos formas. > > Un saludo, agradezco su colaboración con el tema. > > > David C. > > [[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 > > > > *Avís legal/Aviso legal* > La present informació s'envia únicament a la persona a la que va dirigida > i pot contenir informació privilegiada o de caràcter confidencial. > Qualsevol modificació, retransmissió, difusió o altre ús d'aquesta > informació per persones o entitats diferents a la persona a la que va > dirigida està prohibida. Si vostè l'ha rebut per error, si us plau contacti > amb el remitent i esborri el missatge de qualsevol ordinador. En el cas que > aquest missatge vagi a ser contestat per la mateixa via, ha de saber-se que > la seva resposta podria ser coneguda per tercers a l'entrar a la xarxa. Per > això, si el missatge inclou contrasenyes, números de targetes de crèdit o > qualsevol altra informació que vostè consideri confidencial, seria més > segur contestar per una altra via i cancel·lar la seva transmissió. > L'Ajuntament de Mataró i els seus organismes dependents no poden assumir la > responsabilitat derivada del fet de què terceres persones puguin arribar a > conèixer el contingut d'aquest missatge durant la seva transmissió. > ------------------------------ > La presente información se envía únicamente a la persona a la que va > dirigida y puede contener información privilegiada o de carácter > confidencial. Cualquier modificación, retransmisión, difusión u otro uso de > esta información por persones o entidades diferentes a la persona a la que > va dirigida está prohibida. Si usted la ha recibido por error, por favor > contacte con el remitente y borre el mensaje. En el caso de que este > mensaje vaya a ser contestado por la misma vía, ha de saberse que su > respuesta podría ser conocida por terceros al entrar en la red. Por este > motivo, si el mensaje incluye contraseñas, números de tarjetas de crédito o > cualquier otra información que considere confidencial, sería más seguro > contestar por otra vía y cancelar su transmisión. El Ayuntamiento de Mataró > y sus organismos dependientes no pueden asumir la responsabilidad derivada > del hecho de que terceras personas puedan llegar a conocer el contenido de > este mensaje durante su transmisión. > > <#14c50bdc0d0f9412_> >[[alternative HTML version deleted]]