Estoy tratando de especificar las colClasses
opciones en la read.csv
función en R. En mis datos, la primera columna "tiempo" es básicamente un vector de caracteres mientras que el resto de las columnas son numéricas.
data <- read.csv("test.csv", comment.char="" ,
colClasses=c(time="character", "numeric"),
strip.white=FALSE)
En el comando anterior, me gustaría que R lea en la columna "tiempo" como "carácter" y el resto como numérico. Aunque la variable "datos" tuvo el resultado correcto después de que se completó el comando, R devolvió las siguientes advertencias. Me pregunto cómo podría solucionar estas advertencias.
Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote, :
not all columns named in 'colClasses' exist
2: In tmp[i[i > 0L]] <- colClasses :
number of items to replace is not a multiple of replacement length
Derek
read.table
.Puede especificar colClasse solo para una columna.
Entonces, en su ejemplo, debe usar:
fuente
Suponiendo que su columna 'tiempo' tiene al menos una observación con un carácter no numérico y todas sus otras columnas solo tienen números, entonces el valor predeterminado de 'read.csv será leer en' tiempo 'como un' factor 'y todo el resto de las columnas como 'numéricas'. Por lo tanto, configurar 'stringsAsFactors = F' tendrá el mismo resultado que configurar las 'colClasses' manualmente, es decir,
fuente
Si desea hacer referencia a nombres del encabezado en lugar de números de columna, puede usar algo como esto:
fuente
Para varias columnas de fecha y hora sin encabezado y muchas columnas, digamos que mis campos de fecha y hora están en las columnas 36 y 38, y quiero que se lean como campos de caracteres:
fuente
Sé que OP preguntó sobre la
utils::read.csv
función, pero permítanme dar una respuesta para estos que vienen aquí buscando cómo hacerlo usandoreadr::read_csv
el tidyverse.Esto debería establecer el tipo predeterminado para todas las columnas como carácter , mientras que el tiempo se analizaría como un número entero.
fuente
Si combinamos lo que aportaron @Hendy y @Oddysseus Ithaca, obtenemos un fragmento de código más limpio y más general (es decir, ¿adaptable?).
fuente