Muchas gracias por contestar. Sigo sin conseguir resultados. He probado con lo que me has sugerido de dos formas:
get.integer3 <- function(x,y) { vector <- x$y vector <- str_replace(vector, 'X', '') vector <- as.integer(as.character(vector)) x$y <- vector } get.integer3 <- function(x,y) { vector <- x$y vector <- as.character(vector) vector <- str_replace(vector, 'X', '') vector <- as.integer(vector) x$y <- vector } Realmente consigo que R haga lo que le pido con los comandos por separado: road_accidents$Vehicle_Type <- str_replace(road_accidents$Vehicle_Type, 'X','') road_accidents$Vehicle_Type <- as.integer(road_accidents$Vehicle_Type) Sin embargo, quiero implementar esto en una función para no tener que ir variable por variable. Otra forma que se me ha ocurrido de hacerlo es obtener la posición que ocupa la variable en el data frame para así, en vez de hacer referencia a ella a través de x$y, llamar directamente a la columna mediante road_accidents[,3*] (*por poner un ejemplo). El problema es que esto no se como hacerlo. Un saludo. ________________________________ From: Francisco Rodríguez <fjr...@hotmail.com> Sent: Friday, November 3, 2017 7:00 PM To: Alberto; r-help-es@r-project.org Subject: Re: [R-es] Problemas con función factor to integer Por lo que veo tus datos son factor, creo que primero debes transformarlos a character. Saludos Enviado desde mi smartphone Samsung Galaxy. -------- Mensaje original -------- De: Alberto <alpeda...@hotmail.com> Fecha: 3/11/17 18:20 (GMT+01:00) Para: r-help-es@r-project.org Asunto: [R-es] Problemas con función factor to integer 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]] [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es