[R-es] Crear bucle

Xavier-Andoni Tibau Alberdi xavitibau en gmail.com
Mar Feb 13 22:32:16 CET 2018


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 <andreshirigoyen en 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<
> xavitibau en gmail.com> escribió:
>
>> Creo que necesitas usar la funcion: ifelse().
>>
>> Saludos!
>>
>> El 13 feb. 2018 22:16, "Andrés Hirigoyen" <andreshirigoyen en gmail.com>
>> escribió:
>>
>>> Buenas tardes para tod en 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 en 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]]



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