2011-10-17 57 views
7

我有一個.dat文件的時間序列數據的選項,所以它包括交易日期和到期日期,以及我想在其中進行時間序列分析的價格數據。 我是新的到R,所以我一直在網上關注一些例子。在我試圖將數據上傳的數據幀,我試過掃描(),但我得到了以下錯誤:掃描數據類型錯誤

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' 

我明白它期待真實的,但我需要輸入日期和選項爲了理解時間序列,所以有人可以給我一些關於如何去做的指導.thx。

+2

爲什麼不直接使用'read.csv'?這與MySQL有什麼關係? – joran

+0

修復了標題以匹配問題內容。 –

+0

好的,謝謝,讓我工作。 @Richie,感謝您更正標題:-) – itcplpl

回答

9

掃描要求您指定數據的內容;默認情況下,它假設你只是閱讀數字(你不是)。

按照Joran的評論,read.csv(或read.table)對於從文件中讀取數據幀更方便用戶。改爲使用它。

9

我會重申,scan是一個相當低級的功能,在幾乎所有情況下,您最好使用read.tableread.csv

但是爲了使掃描工作在我推斷的內容是在你的.dat文件中,至少需要告訴它(字段分隔符是什麼)以及數據類型是什麼。所以像這樣的:

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

會做的伎倆。