Otra forma, aunque sean varias funciones anidadas: > library(stringr) > datin <- as.factor(c('X2' , 'X23', 'X14', 'X19', 'X18', 'X11', 'X11', 'X11', 'X11', 'X11')) > res <- as.numeric(str_replace_all(as.vector(datin), "X","")) > res [1] 2 23 14 19 18 11 11 11 11 11
Saludos, Carlos Ortega www.qualityexcellence.es El 3 de noviembre de 2017, 18:20, Alberto <alpeda...@hotmail.com> escribió: > Hola, > > estoy teniendo problemas para conseguir que mi función haga lo que quiero. > Necesito que coja los valores de la variable que le indico, le quite la > letra que precede a dichos valores y los convierta en números enteros. Dejo > un ejemplo de los datos que estoy tratando y de varias opciones de función > con las que intento que funcione sin resultado. > > #Ejemplo > > head(road_accidents$Vehicle_Type,10) > [1] X2 X11 X11 X19 X11 X11 X11 X11 X11 X11 > Levels: X10 X11 X17 X19 X2 X20 X21 X3 X4 X5 X8 X9 X90 X97 X98 > > #Función Prueba 1 > get.integer <- function(x) > { > road_accidents %>% > str_replace(road_accidents$x, 'X','') %>% > as.integer(road_accidents$x) > } > > #Función Prueba 2 > get.integer2 <- function(dataframe, y) > { > vector <- str_replace(dataframe[,y], 'X', '') > vector <- as.integer(dataframe[,y]) > dataframe[,y] <- vector > } > > #Función Prueba 3 > get.integer3 <- function(x,y) > { > vector <- x$y > vector <- str_replace(vector, 'X', '') > vector <- as.integer(vector) > x$y <- vector > } > > Gracias, un saludo. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es