[R-es] BUCLE

Reverté Calvet, Gerard greverte en ajmataro.cat
Mie Mar 25 12:42:32 CET 2015


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>


Más información sobre la lista de distribución R-help-es