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:[email protected]] 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
[email protected]
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.
_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es