Re: [R-es] Problemas con función factor to integer

2017-11-04 Por tema Marcelino de la Cruz Rot


Aún más sencillo:


road_accidents$Vehicle_Type <- 
as.integer(gsub("X","",(road_accidents$Vehicle_Type)))


road_accidents$Vehicle_Type



El 04/11/2017 a las 14:54, Carlos Ortega escribió:

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  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






--
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

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Problemas con función factor to integer

2017-11-04 Por tema Carlos Ortega
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  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


Re: [R-es] Problemas con función factor to integer

2017-11-04 Por tema Carlos J. Gil Bellosta
foo <- function(x){
  tmp <- as.character(x)
  tmp <- gsub("X", "", tmp)
  as.integer(tmp)
}

road_accidents$Vehicle_Type <- foo(road_accidents$Vehicle_Type)

Si estás con R, comienza por el principio: cómo se definen funciones y qué
devuelven. Luego, qué son y cómo se opera con factores. Deja el %>%
chachiguay para el final.

Salud,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El sáb., 4 nov. 2017 a las 12:44, Alberto (<alpeda...@hotmail.com>)
escribió:

> 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

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Re: [R-es] Problemas con función factor to integer

2017-11-04 Por tema Alberto
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

Re: [R-es] Problemas con función factor to integer

2017-11-03 Por tema Francisco Rodríguez
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