Excelente Carlos, muchas gracias. Me maree con [i] en el bucle que hacia. Saludos
El 13 de febrero de 2018, 18:38, Carlos Ortega<c...@qualityexcellence.es> escribió: > Hola, > > Una forma puede ser la siguiente... > Para comparar, he creado una nueva columna "new_zona" que es la que se va > rellenando con un bucle... > > #------------------- > > cont <- 1 > > new_zona <- 0 > > for(i in 1:nrow(data)) { > + new_zona[i] <- cont > + if(data$Subzona[i] == 1 & i > 1) { > + cont <- cont + 1 > + new_zona[i] <- cont > + } > + } > > > > data$new_zona <- new_zona > > data > Margen Zona Subzona Long new_zona > 1 B 1 1 9 1 > 2 B 1 2 12 1 > 3 B 1 3 22 1 > 4 B 1 4 36 1 > 5 B 1 5 36 1 > 6 B 1 6 98 1 > 7 B 2 1 58 2 > 8 B 2 2 47 2 > 9 B 2 3 54 2 > 10 B 2 4 87 2 > 11 B 2 5 26 2 > 12 B 3 1 36 3 > 13 A 3 2 35 3 > 14 A 3 3 91 3 > 15 A 3 4 10 3 > 16 A 3 5 20 3 > 17 A 3 6 36 3 > 18 A 4 1 57 4 > 19 A 4 2 30 4 > 20 A 4 3 69 4 > 21 A 4 4 32 4 > 22 A 4 5 33 4 > 23 A 4 6 36 4 > 24 A 4 7 37 4 > > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > > El 13 de febrero de 2018, 22:32, Xavier-Andoni Tibau Alberdi < > xaviti...@gmail.com> escribió: > >> Perdona, toda la razón, no miré bien el problema antes de responder. >> >> Seguro que hay una manera más eficiente. Pero yo lo haría con un bucle, >> luego usas una bariable dummy, digamos zonna_d, que incremente su valor en >> 1 cada vez que subzona es ==1. Entonces zona = zonna_d. >> >> Se entiende? >> >> Saludos, >> >> Xavier >> >> 2018-02-13 22:26 GMT+01:00 Andrés Hirigoyen <andreshirigo...@gmail.com>: >> >> > Xavier el tema que no logro solucionar es pasar de subzona==1 a >> > subzona==2. Probé con ifelse pero me cambia los valores de toda la >> columan >> > cuando cambia de zona. >> > Gracias por responder >> > >> > El 13 de febrero de 2018, 18:19, Xavier-Andoni Tibau Alberdi< >> > xaviti...@gmail.com> escribió: >> > >> >> Creo que necesitas usar la funcion: ifelse(). >> >> >> >> Saludos! >> >> >> >> El 13 feb. 2018 22:16, "Andrés Hirigoyen" <andreshirigo...@gmail.com> >> >> escribió: >> >> >> >>> Buenas tardes para tod@s >> >>> (de nuevo) >> >>> >> >>> Tengo el siguiente dataframe: >> >>> margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","A >> >>> ","B","A","B","A","B","A","B","A","B","A","B") >> >>> margen<-sort(margen, decreasing=T) >> >>> long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57 >> >>> ,30,69,32,33,36,37) >> >>> >> >>> subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7) >> >>> zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4) >> >>> >> >>> data<-data.frame(Margen=margen, Zona=zona, >> Subzona=subzona,Long=long) >> >>> >> >>> La Variable "zona" es creada a mano cuando dentro de un mismo >> "Margen" la >> >>> "subzona"==1. >> >>> Luego sigue valiendo 1 a medida que las observaciones de la "subzona" >> >>> avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona") >> con >> >>> el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1 >> >>> cuando cambio de "Margen" >> >>> >> >>> Me gustaría crear la variable Zona de forma automática, es decir >> cuando >> >>> la >> >>> "subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo >> allí >> >>> la "zona" valdrá 2 y así sucesivamente (hasta que cambie a >> "Margen"==2 e >> >>> inicia de nuevo). >> >>> Estoy con terribles líos con if ifelse loops... Espero haber sido >> claro >> >>> >> >>> Saludos y desde ya muchas gracias >> >>> >> >>> >> >>> >> >>> -- >> >>> >> >>> [[alternative HTML version deleted]] >> >>> >> >>> _______________________________________________ >> >>> R-help-es mailing list >> >>> R-help-es@r-project.org >> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >>> >> >> >> > >> > >> > -- >> > *Andrés Hirigoyen* >> > * Prof. Ciencias Biológicas* >> > *Ing. Agr. Forestal (MSc) * >> > >> > *http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>* >> > >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > -- *Andrés Hirigoyen* * Prof. Ciencias Biológicas* *Ing. Agr. Forestal (MSc) * *http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>* [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es