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 . (<[email protected]>)
escribió:

> Genial!
> Gracias!
>
>
> ________________________________
> De: Marcelino de la Cruz Rot <[email protected]>
> Enviado: domingo, 13 de septiembre de 2020 12:50
> Para: Samura . <[email protected]>; [email protected] <
> [email protected]>
> 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@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
> > [email protected]
> > 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
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a