[R-es] Cambiar datos de un DF

Javier Marcuzzi j@v|er@ruben@m@rcuzz| @end|ng |rom gm@||@com
Lun Sep 14 23:13:56 CEST 2020


Estimado Samura

Hay varias formas pero yo prefiero lo primero que usted propone, ir uno por
uno. Lógicamente si son muchos se requiere un extenso tiempo escribiendo,
uno se puede equivocar, pero de forma ordenada esto permite conocer los
datos, sobretodo cuando estos provienen de otras personas o de alguna base
de datos con pocos cuidados. Yo prefiero gastar tiempo corrigiendo uno a
uno y no tener problemas en el análisis.

Javier Rubén Marcuzzi

El dom., 13 sept. 2020 a las 14:38, Samura . (<tontito82 using hotmail.com>)
escribió:

> Genial!
> Gracias!
>
>
> ________________________________
> De: Marcelino de la Cruz Rot <marcelino.delacruz using urjc.es>
> Enviado: domingo, 13 de septiembre de 2020 12:50
> Para: Samura . <tontito82 using hotmail.com>; r-help-es using r-project.org <
> r-help-es using r-project.org>
> Asunto: Re: [R-es] Cambiar datos de un DF
>
> Hola:
> Si codificas "col1" como un factor, lo puedes cambiar todo de una vez
> renombrando los niveles correspondientes:
>
>  > df$col1<-as.factor(df$col1)
>
>  > df$col1
>   [1] uno   dos   3     4     cinco 6     siete 8     9     diez
> Levels: 3 4 6 8 9 cinco diez dos siete uno
>
>  > levels(df$col1)[1:5] <- c("tres","cuatro","seis","ocho","nueve")
>  > df
>       col1 col2
> 1     uno    1
> 2     dos    2
> 3    tres    3
> 4  cuatro    4
> 5   cinco    5
> 6    seis    6
> 7   siete    7
> 8    ocho    8
> 9   nueve    9
> 10   diez   10
>  >
>
>
> Saludos,
>
> Marcelino
>
>
> El 13/09/2020 a las 14:37, Samura . escribió:
> > Hola a tod using s
> >
> > �C�mo puedo cambiar varios datos por otros en un data frame?
> >
> > Por ejemplo
> >
> > col1<-c("uno","dos",3,4,"cinco",6,"siete",8,9,"diez")
> > col2<-c(1,2,3,4,5,6,7,8,9,10)
> >
> > df<-data.frame(col1,col2)
> > df$col1<-as.character(df$col1)
> > df
> >
> >      col1 col2
> >      uno    1
> >      dos    2
> >        3    3
> >        4    4
> >    cinco    5
> >        6    6
> >    siete    7
> >        8    8
> >        9    9
> >      diez   10
> >
> > Ahora quiero cambiar por ejemplo los n�meros por letras (o cualquier
> otro dato en cualquier otro ejemplo)
> >
> > df$col1[df$col1==3]<-"tres"
> > df$col1[df$col1==4]<-"cuatro"
> > df$col1[df$col1==6]<-"seis"
> > df$col1[df$col1==8]<-"ocho"
> > df$col1[df$col1==9]<-"nueve"
> >
> > �No hay otra forma de ponerlo para no ir uno a uno?
> >
> > he probado con
> >
> > df$col1[df$col1==c(3,4,6)]<-c("tres","cuatro","seis")
> >
> > pero nada, pq creo que tendr�a q ponerlos todos, solo quiero poner los
> que quiero cambiar.
> >
> > Gracias!
> >
> >
> >
> >        [[alternative HTML version deleted]]
> >
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es using r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
> --
> Marcelino de la Cruz Rot
> Depto. de Biología y Geología
> Física y Química Inorgánica
> Universidad Rey Juan Carlos
> Móstoles España
>
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



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