Recategorizar columnas de dataframes en R

por | Jun 19, 2018 | R | 0 Comentarios

Recategorizar columnas fijando intervalos

datos$categorias<-cut(datos$valor, c(-Inf,2,4,6,8,Inf))
levels(datos$categorias) <- c("muy bajo","bajo","medio","alto","muy alto")
plot(datos$categorias)

Recategorizar elementos automáticamente

library("agricolae")
aux <- table.freq( hist(datos$valor, plot=FALSE) )
datos.frec <- data.frame(rango= paste(aux$Lower, aux$Upper,sep = "-"),frec= aux$Frequency)
barplot(datos.frec$frec, names.arg = datos.frec$rango)

Recategorizar una columna usando un listado con indexado

# Definir el Data frame
velocidades <- c("30","50","90","100","120")
velocidad <- sample(velocidades, 50, replace = TRUE)
id_carretera <- 1:50
df <- data.frame(id_carretera,velocidad)

# Definir el diccionario de sustitución
dic <- c("Tramo colegio","Tramo urbano","Carretera regional","Carretera Nacional","Autovía")
names(dic) <- c("30","50","90","100","120")

df$velocidad <- sapply(as.vector(df$velocidad), function(x) dic[x] ) 
id_carretera velocidad
1 1 Carretera Nacional
2 2 Tramo urbano
3 3 Tramo colegio
4 4 Tramo urbano
5 5 Carretera regional

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *