Tengo un problema al importar un archivo CSV con R:Leer csv con fechas y números de
líneas de ejemplo para importar:
2010-07-27;91
2010-07-26;93
2010-07-23;88
que utilice la sentencia:
data <- read.csv2(file="...", sep=";", dec=".", header=FALSE)
cuando intento agregar estos datos con otros generados por el análisis estadístico usando cbind
, la fecha se muestra como un número entero porque se importó como factor.
Si trato de mostrarlo como una cadena usando as.character
, los datos numéricos se transforman también en caracteres, por lo que no se pueden usar para procedimientos estadísticos.
cuando corro su segunda línea, consigo un mensaje de error como 'proporcionó 9 variables para reemplazar 1 variables'. Sin embargo, cuando envuelvo 'strptime' en' as.POSIXct (...) ', es decir' as.POSIXct (strptime (data [, 1], "% Y-% m-% d") 'parece –
Si los datos [, 1] son un vector de cadenas de caracteres del formato c ("2010-07-23", ...) lo que escribí funciona. ¿Qué significa "parece que funciona" de todos modos? como si estuvieras simplemente convirtiendo el resultado POSIXlt predeterminado y tienes alguna otra función que no se menciona aquí usando un valor POSIXlt. Está bien, es solo un resultado diferente. Eso no significa que lo que hay allí no funciona. POSIXlt y POSIXct son de la clase POSIXt (que es la que mencioné). – John
Esto es precisamente lo que * 'read.csv (... colClasses ...)' * es para! Ver la respuesta de Marek. Hacer la conversión en tiempo de lectura con colClasses es mejor que esta respuesta porque no desperdicia mucha memoria temporal. (Simplemente haz * 'gc (reset = TRUE)' * después). Además, es mucho más legible. – smci