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 > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es