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-boun...@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@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.


_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a