我有一个时间序列数据的.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'
我知道它期待真实,但我需要输入日期和选项代码来理解时间序列,所以有人可以给我一些关于我如何去做的指导。谢谢。
答案 0 :(得分:11)
扫描要求您指定数据的内容;默认情况下,它假设您只是读数字(您不是)。
根据Joran的评论,read.csv
(或read.table
)对于从文件中读取数据帧更加友好。请改用它。
答案 1 :(得分:10)
我会重申,scan
是一个非常低级别的功能,几乎在所有情况下,您最好使用read.table
或read.csv
。
但是要让扫描工作在我所推测的.dat
文件中,你需要告诉它(至少)字段分隔符是什么以及数据类型是什么。如下所示:
scan('temp.dat',sep=',',what=list('character','character','character','numeric','numeric','numeric','numeric'))
会做到这一点。