es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo convertir un vector de caracteres en un vector numérico dentro de data.table?

Primero subí un archivo CSV usando “fread”, luego intenté convertir un vector de cadenas en un vector de flotantes/numérico.

La columna1 se ve así:

print(column)
c(“0.100005”, “0.785222”, “0.975222”, …)

Usé algo como esto:

as.numeric(df$column1)

o

as.double(df$column1)

El conjunto de datos se cargó como una clase datatable, y las opciones mencionadas no funcionaron.

¿Alguien conoce alguna solución para este problema?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Una solución a este problema podría ser utilizar la función lapply para aplicar la función as.numeric a cada elemento de la columna. Esto puede ser utilizado entonces para reemplazar el vector original en el dataframe. Aquí hay un fragmento de código de ejemplo:

    “`{r}
    df$column1 <- lapply(df$column1, as.numeric)


    Alternativamente, si está utilizando el paquete `data.table`, puede utilizar la función `fread` con el argumento `colClasses` para especificar las clases de columna al leer el archivo CSV. Aquí hay un fragmento de código de ejemplo: ```{r} library(data.table) df <- fread("file.csv", colClasses = c(column1 = "numeric"))

    Esto asegurará que column1 sea leído como un vector numérico y se puede utilizar directamente sin ninguna conversión.

Comments are closed.