扫描数据类型错误

时间:2011-10-17 17:36:45

标签: 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'

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

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:10)

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

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

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

会做到这一点。