Foro de debate

Como realizar un buque y crear una nueva variable

Como realizar un buque y crear una nueva variable

de Fredy Lorenzo Ramirez Niño -
Número de respuestas: 9

Buenas tardes,

Llevo muy poco manejando R y estoy iniciando en la elaboración de bucles y necesito realizar lo siguiente:

Tengo una variable(A) en un dataframe quiero compararlas pro filas y crear una nueva variable(B) si el dato cambia en la variable coloque 1 y de lo contrario 0

A                          B                      

1                           0 

1                           0

1                           1

2                           0

2                           1

3                           0

3                           0

3                           1

alguien me puede ayudar ...


Gracias

En respuesta a Fredy Lorenzo Ramirez Niño

Re: Como realizar un buque y crear una nueva variable

de Manuel Muñoz Márquez -

Hola:

En R los bucles son poco eficientes y es preferible evitarlos, casi siempre hay otra forma de hacer las cosas.

En este caso:

a <- c(1, 1, 1, 2, 2, 3, 3, 3)

a[-1]-a[-length(a)]

[1] 0 0 1 0 1 0 0

Saludos

En respuesta a Manuel Muñoz Márquez

Re: Como realizar un buque y crear una nueva variable

de Fredy Lorenzo Ramirez Niño -

Muchas gracias por su respuesta pero lo necesito hacer con diferentes numero es decir un directorio(cada que cambie el numero),  como el ejemplo siguiente te agradezco la ayuda.

Directorio_hogar                 caso_unico_hogar

19845801                             0

19845801                             0

19845801                             1

19845802                            0

19845802                            1 

19845803                           0

19845803                            0

19845803                           1

19845804                            0

19845804                            0 

19845804                            0

19845804                             1

como siempre mil gracias......

En respuesta a Fredy Lorenzo Ramirez Niño

Re: Como realizar un buque y crear una nueva variable

de Fredy Lorenzo Ramirez Niño -

Que pena otra pregunta como se realiza en un dataframe y me podría explicar que se esta haciendo en el cogido, por ultimo nos queda faltando el ultimo numero es decir son 8 observaciones y entre ceros y uno nos debe dar los mismo 8 y otra cosa los numero pueden cambiar en su totalidad es decir uno puede se 19485804 y el otro 15364285..

muchas gracias..

En respuesta a Fredy Lorenzo Ramirez Niño

Re: Como realizar un buque y crear una nueva variable

de Fredy Lorenzo Ramirez Niño -

Manuel muchas gracias

ya pude realizar el ejercicio y lo hice de la siguiente manera

a <- c(1, 1, 1, 2, 2, 3, 3, 3)

b = c(a[-1]-a[-length(a)],1)


muchas gracias..

En respuesta a Fredy Lorenzo Ramirez Niño

como realizar un conteo en otra variable..

de Fredy Lorenzo Ramirez Niño -

Tengo  otro problema quien me puede ayudar quiero programar la variable caso_unico_hogar (conteo)...


Directorio_hogar                 caso_unico_hogar

19845801                             1

19845801                             2

19845801                             3

19845802                            1

19845802                            2 

19845803                           1

19845803                            2

19845803                           3

19845804                            1

19845804                            2 

19845804                            3

19845804                             4



muchas gracias..

En respuesta a Fredy Lorenzo Ramirez Niño

Re: como realizar un conteo en otra variable..

de Manuel Muñoz Márquez -

Buenas:

El conteo lo puedes hacer usando la función summary pasando previamente la variable a factor.

Creo que te vendría bien leer algún manual de iniciación a la programación con R.

Saludos.

En respuesta a Manuel Muñoz Márquez

Re: como realizar un conteo en otra variable..

de Fredy Lorenzo Ramirez Niño -

Creo que no me hice entender es enumera en otra variable cada observación (Directorio_hogar) y enumerarla en otra (caso_unico_hogar).

Variable A                           Variable B

Directorio_hogar                 caso_unico_hogar

19845801                             1

19845801                             2

19845801                             3

19845802                            1

19845802                            2 

19845803                           1

19845803                            2

19845803                           3

19845804                            1

19845804                            2 

19845804                            3

19845804                             4


como siempre mil gracias..
En respuesta a Fredy Lorenzo Ramirez Niño

Re: como realizar un conteo en otra variable..

de Manuel Muñoz Márquez -

Buenas:

Eso no se me ocurre como hacerlo sin un bucle:

a<-sample.int(20, replace=TRUE)

[1]  6  4 15  9  2  7 13 20  3  3 13 11  6 19 19 20 14  6 10  7

b<-numeric(length(a))

for(i in 1:length(a)) b[i]<-sum(a[1:i]==a[i])

b

 [1] 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 2 1 3 1 2

Saludos.