扫描数据类型错误

itc*_*lpl 8 r

我有一个.dat文件的时间序列数据的选项,所以它包括交易日期和到期日期,以及我想在R中进行时间序列分析的价格数据.我是R的新手,所以我一直关注一些在线示例.在我尝试将数据上传为数据框时,我尝试了scan(),但是我收到以下错误:

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'
Run Code Online (Sandbox Code Playgroud)

我知道它期待真实,但我需要输入日期和选项代码来理解时间序列,所以有人可以给我一些关于我如何去做它的指导.thx.

Ric*_*ton 11

扫描要求您指定数据的内容; 默认情况下,它假设您只是在阅读数字(您不是).

根据Joran的评论,read.csv(或read.table)对于从文件中读取数据帧更加用户友好.改用它.


Pet*_*r M 10

我将重申这scan是一个非常低级的功能,几乎在所有情况下你最好使用read.tableread.csv.

但是要让扫描工作在我所推断的.dat文件中,你需要告诉它(至少)字段分隔符是什么以及数据类型是什么.所以类似于:

scan('temp.dat',sep=',',what=list('character','character','character','numeric','numeric','numeric','numeric'))
Run Code Online (Sandbox Code Playgroud)

会做的伎俩.