[R-es] Cambiar datos de un DF
Marcelino de la Cruz Rot
m@rce||no@de|@cruz @end|ng |rom urjc@e@
Dom Sep 13 14:50:34 CEST 2020
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
Más información sobre la lista de distribución R-help-es