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]]