2011-10-17 12 views
7

Tengo un archivo .dat de datos de series de tiempo para las opciones, así que incluye la fecha de intercambio y la fecha de vencimiento, además de los datos de precios para los que quiero hacer análisis de series temporales en R. Soy nuevo a R, así que he estado siguiendo algunos de los ejemplos en línea. en mi intento de cargar los datos como una trama de datos, probé el escaneo(), pero me sale el siguiente error:Error de tipo de datos con escaneo

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
    scan() expected 'a real', got '2010-Aug-09,2011-Aug-19,C00026000,0.23985,5.53,0.999999,0.00712328' 

entiendo que está a la espera real, pero necesito ingresar la fecha y la opción ticker para dar sentido a la serie de tiempo, por lo que alguien puede darme una guía sobre cómo lo hago.thx.

+2

¿Por qué no usar simplemente 'read.csv'? ¿Y qué tiene esto que ver con MySQL? – joran

+0

Se corrigió el título para que coincida con el contenido de la pregunta. –

+0

ok gracias, déjame trabajar con eso. @Richie, gracias por corregir el título :-) – itcplpl

Respuesta

9

El escaneo requiere que especifique los contenidos de los datos; de forma predeterminada asume que solo está leyendo en números (que no es).

Según el comentario de Joran, read.csv (o read.table) es mucho más fácil de usar para leer marcos de datos del archivo. Usa eso en cambio.

9

Voy a reiterar que scan es una función bastante de bajo nivel y en casi todos los casos es mejor usar read.table o read.csv.

Pero para que la exploración funcione en lo que estoy deduciendo está en su archivo .dat, necesita decirle (al menos) qué es el separador de campo y cuáles son los tipos de datos. Así que algo así como:

scan('temp.dat',sep=',',what=list('character','character','character','numeric','numeric','numeric','numeric')) 

haría el truco.

Cuestiones relacionadas