2011-10-17 45 views
7

Tôi có tệp .dat dữ liệu chuỗi thời gian cho các tùy chọn để nó bao gồm ngày giao dịch và ngày hết hạn, ngoài dữ liệu giá mà tôi muốn phân tích thời gian trong R. Tôi mới đến R, vì vậy tôi đã theo dõi một số ví dụ trực tuyến. trong nỗ lực của tôi để tải lên các dữ liệu như một dữ liệu-frame, tôi đã thử quét(), nhưng tôi nhận được lỗi sau:Lỗi kiểu dữ liệu với quét

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' 

Tôi hiểu nó là hy vọng thật nhưng tôi cần phải nhập thời gian và tùy chọn ticker để làm cho cảm giác của chuỗi thời gian, vì vậy ai đó có thể cho tôi một số hướng dẫn về cách tôi đi về nó.thx.

+2

Tại sao không chỉ sử dụng 'read.csv'? Và điều này phải làm gì với MySQL? – joran

+0

Cố định tiêu đề để khớp nội dung câu hỏi. –

+0

ok cảm ơn, hãy để tôi làm việc với điều đó. @Richie, cảm ơn vì đã sửa tiêu đề :-) – itcplpl

Trả lời

9

Quét yêu cầu bạn chỉ định nội dung của dữ liệu; theo mặc định, nó giả định rằng bạn chỉ đọc các số (mà bạn không biết).

Theo nhận xét của Joran, read.csv (hoặc read.table) thân thiện với người dùng hơn khi đọc trong khung dữ liệu từ tệp. Sử dụng thay vào đó.

9

Tôi sẽ nhắc lại rằng scan là chức năng cấp thấp và trong hầu hết mọi trường hợp, bạn nên sử dụng read.table hoặc read.csv.

Nhưng để quét để làm việc về những gì tôi đang suy ra là trong tệp .dat của bạn, bạn cần phải cho biết (ít nhất) trình tách trường là gì và loại dữ liệu nào. Vì vậy, một cái gì đó như:

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

sẽ thực hiện thủ thuật.

Các vấn đề liên quan