数据导入和导出之导入数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据导入和导出之导入数据
一、从键盘键入数据(Entering Data From the Keyboard)
数量不大用手采集的数据,推荐通过键盘输入这些数据。
1、第一步打开一个临时的电子数据表窗口(空组窗口)用以输入数据。
为此,从主菜单选择Quick/Empty Group (Edit Series),打开一个未命名的空组窗口。
2、第二步建立并命名序列。
点击空组窗口右侧滚动条上向上箭头一次,在左列显示出第二obs标签。
这第二个obs标签所在的行,就是我们可以键入和编辑多个序列名的地方。
选中待输入第一个序列名的位置(即点击第二个obs的右侧的第一个单元),在工具条下的命令行键入第一个序列名并按ENTER。
这个键入的序列名称从命令行消失,出现在第一个和第二个obs的右侧的第一个单元中,成为第一列待输入的序列名。
它们下面的各个元格中出现NA编码,等待输入数据。
3、在后续列上重复选定键入序列名的操作一次就增加一个序列。
在空组中重命名序列,选择决定重命名的序列名,进行编辑并按回车。
EViews提示对重命名进行确认。
4、点击相应的单元,键入数据。
按回车后,光标进入下一个单元。
根据使用者的偏好也可用光标键在电子数据表中定位。
5、完成数据输入后,关闭组窗口。
如果要保留这个组,点击Name按钮命名这个组。
命名后的组将保存在工作文件中。
如果无需保存这个组,在EViews要求确认删除时回答“Yes”。
二、复制和粘贴(Copying and Pasting)
利用Windows的剪接板是在EViews内和EViews与其它应用程序之间移动数据最便利的方法之一。
剪贴板是从Excel和其它支持
copy-and-paste的Windows应用程序之间导入数据到EViews最简单和最自然的工具。
从Windows应用程序中复制
下面的讨论涉及到使用Excel数据表的例子,但是,例子中的基本原则仍可用于其它Windows应用程序。
假设Excel工作表中有欲导入EViews的有债券收益和利率的数据。
打开Excel工作表:
第一步,加亮要导入到EViews中的单元。
由于列标题YIELD和 INTEREST 要用作EViews中的变量名,所以也应将它们加亮。
由于EViews识别日期数据,且已经建立了一个月度频率的工作文件,所以无须将Excel工作表的日期导入。
因此,点击 B列后按住鼠标左键拖到C列。
这两列被加亮:
选择Edit/Copy拷贝被加亮数据到Windows的剪接板。
粘贴到新序列上(Pasting into New Series)
打开Eviews并建立一个新的工作文件,或者加载(load)一个已经存在的月度工作文件,该工作文件的数据范围(Range)包含了Excel工作表中的日期(本例是从1953:1到 1994:11)。
确保工作文件的样本区间与复制到剪接板上数据包含了相同的观察值区间。
例如,
选择Quick/Empty Group (Edit Series),打开一个空组。
注意电子数据表观察是以编辑模式打开的,所以无须再点击编辑开关Edit +/-按钮。
假设建立范围1953:1 1999:12的月度工作文件。
EViews电子数据表观察第一行的标签是1953:01。
由于要粘贴序列名,点击滚动条向上箭头,确保序列名单元格的出现。
将光标移到数据表的最左上单元(即第二个obs的右边)。
然后从主菜单上选择Edit/Paste(工具条上无Edit +/-)。
现在的组电子数据表经过粘贴,就含有了剪接板上的数据。
现在关闭组窗口并删除这个未名的组,但不会丢失刚才导入的这两个序列。
注意,从剪接板导入数据时,EViews遵循Windows标准的一行内数据间的表格-定界格式,将数据粘贴到相应的单元格中。
但是,一些不同的应用程序采用了不同于标准的空格和定界符来分隔数据。
因此,企图从非标准的应用程序中通过剪接-粘贴将数据导入EViews,有可能造成不可预知的结果。
粘贴到已经存在的序列上(Pasting into Existing Series)
采用Edit/Paste还可从剪接板将数据同样地导入到已经存在的EViews 序列的或EViews组对象的电子数据表中。
这里补充说明几点:
1、粘贴几个序列,首先打开包含已经存在序列的组窗口。
最容易的方法是点击Show,按照序列载剪接板中出现的顺序键入序列名。
另一种方法是按照出现的顺序选择第一个序列,再选后续序列,建立一个未命名的组,并双击将它们作为一个组打开。
2、接下来,确保组窗口处于编辑模式。
如果不是处于编辑模式,按Edit +/-按钮在保护模式与编辑模式之间进行切换。
选择Edit/Paste将剪贴板上的数据粘贴到已有数据的序列中。
3、最后,点击Edit +/-回到保护模式。
如果将数据粘贴到一个序列中,必须确保序列窗口处于编辑模式且序列观察为单列格式。
如果处于多列观察格式,按Smpl +/-按钮。
选择Edit/Paste粘贴数据,最后按Edit +/-按钮保护数据。
三、电子数据表的导入(Spreadsheet Import)
可以直接从其它应用程序创建的数据文件中读入数据到EViews中。
这些数据文件可以是ASCII格式、Lotus格式(.WKS、.WK1或WK3)或Excel (.XLS)格式。
首先,确保已经打开了一个待导入数据的工作文件,准备接受导入数据的内容。
第二,点击Procs/Import/Read Text-Lotus-Excel...,在请求设定文件类型和文件名称的标准文件对话框中,选择文件类型和定位到包含该
文件的目录,双击文件名。
另一种方法是键入希望读入的文件名(必要的话还应具有完整的路径信息);若Eviews可以识别出导入文件的类型,将自动设置该文件的类型,否则将它当作ASCII文件。
最后点击Open。
Eviews已经识别出导入的文件类型,打开Excel Spreadsheet Import对话框:
EViews打开对话框等待和提示用户提供示导入过程的补充信息。
由于读入的源文件究竟是电子数据表格式或是ASCII格式,出现的这个对话框有很大的区别。
即使是电子数据表类,读入的是Lotus或者Excel4(或更早的版本),出现的对话框也还有些区别。
对话框的标题栏显示了当前请求EViews读入文件的类型是什么。
为了读入电子数据表格式文件,在对话框中填如:
第一,确定数据是按观察值排列的或是按序列排列的。
所谓按观察值排列指的是第一个观察值后接第2个观察值,如此继续的排列。
所谓按序列排列指的是第一个变量的数据后接第二个变量的数据,如此继续排列。
更形象的解释,按观察值排列即变量按列排列;按序列排列即变量按行排列。
第二,确定实际数据开始单元(最左上角)的位置,所谓实际数据是不包括任何标签或日期信息的。
在编辑框中键入希望读入的序列名。
EViews将数据读入一个编辑框中,所以应当给每一列或行(依数据按什么方向排列而定)提供一个名称,即使仅只希望读入选定的行。
此外,如果希望继续使用包含在文件中原有的序列名,那么只需要简单地提供读入变量的个数。
原来的名称一定会附加在对应的数据上。
如果数据是按行排列的,开始的单元是B2,那么变量必定出现A列,第一个变量名出现在A2。
如果数据按列排列、开始单元为B2,那么变量名必定出现在行1,从B1开始。
如果在读入数据过程中,遇到了无效的单元名,EViews将自动地赋给一个以SER为前缀后接数字的序列名(例如,SER01,SER02等)。
最后,确定读入数据的样本范围。
EViews将文件中每个变量的第一个观察值赋给样本中的第一个日期。
每个文件中连续的范围对应着样本中的连续范围。
于是,在年度工作文件中,可键入样本:
1971 1975 1990 1991
按照这个导入对话框,前5个数据被赋给了1971 1975对应的单元,第6和第7个数据赋给了1990 1991对应的单元。
间断区间的数据在导入过程中并没有受到影响。
警告:如果读进样本的观察值个数大于输入文件存在的观察值个数,哪些没有对应输入的单元将被赋给缺失值。
例如,读入样本定义为:1971 1990,但输入文件中只有10个观察值,那么1981 1990的单元被赋给缺失值。
第一次打开对话框,编辑栏显示的是EViews 缺省的当前样本范围。
编辑它设置为希望的样本范围。
为了使样本设置更容易,EViews 提供设置常用样本范围的三个按钮:
Current sample(当前样本)
Workfile range(工作文件范围)
To end of range(从样本范围开始处开始到工作文件结束而结束)
如果从Excel 5文件读入数据,又增加了一个编辑框,输入包含数据的表名。
如果不输入表名,EViews将读入Excel工作簿最上工作表。
当对话框中栏目填满,点击OK。
EViews读入文件,创建序列并按要求进行赋值。
四、TSD文件的导入(TSD File Import)
导入TSD文件格式的数据,只需点击Procs/Import/TSD File Import,选择希望导入数据的文件。
EViews会将包含在文件中的全部序列读入工作文件,并进行必要的频率调整。
五、ASCII文件的导入(ASCII Import)
如果选择了读入ASCII格式数据文件,EViews打开一个ASCII Text Import对话框,填写这个对话框以便将指定文件读入。
ASCII导入对话框比相应的电子数据表导入对话框复杂得多。
然而,这种复杂性是必要的,因为ASCII文件没有标准的格式。
EViews提供了一系列处理各种类型ASCII文件的选项。
下面是几个示例。
注意,当读入ASCII文件时,在出现的ASCII Text Import对话框的底部有一个预览窗口,可以预览读入文件的前16K信息,于是可利用预览得到的信息来设置对话框中的选项。
必须在对话框中提供下列信息:
设定序列名或序列个数(Names for series or Number of series)
如果文件中不含序列名,或者不使用文件中的序列名,那么按序列在文件中出现的秩序,在该栏中列出序列名清单。
序列名之间用空格分隔。
如果文件中序列名位于序列数据之前,那么只需键入要读入序列的个数,就可以使用文件中原有的序列名。
尽可能地不要在名称中使用括号和一些数学符号,例如*, +, -, /, ^等。
EViews从文件中读入名称时,遇到这些无效的名称,将用下划线和数字取代无效序列名。
例如,EViews将重命名序列为X__3_01。
如果
X__3_01已经被使用,就用X__3_02命名,如此继续。
在对话框中命名序列和列出序列名清单时必须小谨慎。
如果列出的序列名或者原有文件中的序列名与当前工作文件中序列同名,那么工作文件中的这些序列将在导入过程中,被磁盘文件中的同名序列所覆盖。
数据排列的顺序(Data order)。
必须设定文件中的数据的排列方式。
如果文件中的数据是按观察值排列的,每个序列占一行,此时应选择Columns。
如果文件中的数据是按序列排列的,那么第一个序列的每一个数据之后接第二个序列的数据,一直如此排下去,此时应选择Rows。
导入的样本范围(Sample to import)。
应当为来自文件数据指定在序列中放置的样本范围。
Eviews将当前的工作文件的样本区间作为缺省的
样本区间,但是用户可以对给定的区间进行编辑,或者使用样本设置按钮(sample reset)来改变缺省的样本设置。
在这里设置的导入数据的样本只在数据导入过程中有效,并不影响以后工作文件的样本区间。
Eviews使用导入文件中的数据去填充当前样本中的所有的观察值,并遵循下列规则:
1、Eviews只为导入样本区间内的所有观察进行赋值,导入样本区间以外的观察值保持不变。
2、如果导入文件的数据个数少于导入样本的范围,那么没有数据去填充的额外部分,EViews将用NA代码去填充它们。
3、一旦指定导入样本区间中的所有数据已从磁盘文件中读入,即使磁盘文件中仍有数据没有读完毕,导入过程也到此结束。
除了上述信息之外。
还可以采用余下的一些选项,对Eviews读入ASCII 文件数据过程作进一步的控制。
Eviews通过扫描源文件最前面几行的信息,并基于扫描结果在对话框的格式选项中设置了一些缺省设置。
但是,这些缺省设置是基于有限几行信息作出的,有可能不是很恰当的。
用户有时必须对它们进行重新设置。
定界符(Delimiters)
定界符是用以分隔磁盘文件中数据的字符。
通过选择适当的项目可以设置多个定界符。
Tab,Comma和Space是无需解释的定界符。
Alpha选项
设置26个字母之一作为定界符。
对于在选型列表中没有列出定界符,通过Custom(定制)选项可将所要的符号设置为定界符。
例如,通过选择Custom选项和在Custom编辑框中键入/字符,将/字符设置为定界符。
如果键入字符不只一个,那么每一个字符都被当作定界符。
例如,在定制栏(Custom)键入了两个//,那么两个斜杠被解释为两个定界符。
多个定界符处理为一个定界符的选项。
Eviews还提供了将多个定界符处理为一个定界符的选项。
如果“ , ”(空格分号空格)是定界符并且选择了Treat multiple delimiters as one(处理多个定界符为一个定界符)选项,那么Eviews把“ , ”解释成一个定界符。
如果没有选择处理多个定界符为一个定界符选项,Eviews将把这个字符串解释为两个定界符之间夹了一个缺失值。
多个定界符处理成一个定界符的选项也用来去掉(不规则)数据文件中的前导空格,参见下面的例1。
文件按矩形排列选项(Rectangular File Layout Options)
为了将一个ASCII文件当作一个矩形文件来处理,应选择对话框右上角的文件按矩形排列选项(File laid out as rectangle)。
如果文件原本就是一个矩形排列的文件,那么Eviews将分行读入数据,每行对应一次观测结果或者对应一个序列。
如果,用户关闭了文件按矩形排列选项,那么Eviews将整个文件当作一个被定界符和回车间隔的长字符串处理,即作为一行处理。
读取按矩形排列的ASCII文件是很容易的,因为Eviews知道在一行中要读入多少个数据。
对于那些不是按矩形排列的文件,用户就必须精确地知道文件中有多少个序列要读入或是精确地知道每个序列有多少个
观察值要读入。
例如今有一个非矩形的文件,它的数据按列排列,此时用户必须精确地通知Eviews有4个序列要从文件中读入。
Eviews得到这个指示后就会忽略新的行,而是每读入4个观察值之后,就再读入一组新的观察值。
如果读入文件是按矩形排列的,还可以设定滑过几行或滑过几列后才开始读入文件中的数据。
例如,读入一个矩形文件时在滑过行数设置栏(Rows to skip)填写了3,那么Eviews将滑过该文件的前3行。
注意,只能滑过最前面的几行或几列,不能滑过文件中部的几行或几列。
序列头部标题(Series Headers)
序列头部标题选项指示Eviews在读入数据文件前有多少单元被移作序列名。
偏移单元的方式依文件是矩形或不是矩形而定。
对于矩形文件,偏移按行发生(数据按列排列)或者偏移按列发生(数据按行排列)。
假设有如下形式的数据文件:
在序列名与数据之间存在一行间隙,因此序列头部的偏移量应设置为2,一个用于序列名一个用于间隙。
如果这里没有间隙,那么序列头部的偏移量应设置为1。
非矩形数据文件,序列头部的偏移量按定界符分隔的单元数设定。
假设有如下形式的数据文件:
数据按列排列但是每一次观测被记录在两行之中,前一行中包含10个序列的值,后一行包含4个序列的值。
如果我们把它当作有14个序列的矩形文件且在序列头部发生了两行偏移,数据将会错误地读入。
弄清如此设置究竟发生了什么样的错误,有助于理解ASCII数据文件的读入过程。
Eviews在第一行中寻找序列名并滑过第二行,从第三行开始读入数据,将每一行作为一次观测。
前10个序列名将会正确地读入,但是Eviews在第一行中不能寻找到余下的4个序列名,没有被读入的这4个序列名,命名为:SER01~SER04。
数据
读入也是不正确的。
例如序列GR的前4次观测值为:215.9800, NA, 180.4800, NA。
因为Eviews将每一行当作一次新的观测。
为了正确的读入这个数据文件,应关掉矩阵文件选项并设置序列头部偏移行数为1。
Eviews将从左至右地读入数据,头14个被定界复活回车换行分隔的数据读作序列名,因为这里设置的头部偏移量为1。
接下来的14个观察值是14个序列的第1次观测,如此继续下去。
杂项选项(Misc. Options)
单引号选项(Quote with single ’ not ” )按照Eviews的缺省设置,任何置于一对匹配的双引号之内的数据,定义为字符串而不是数值值。
这个选项将任何置于一对匹配的单引号之内(而不是双引号)的数据处理成字符串。
由于Eviews读入数据文件时不支持字符串,所以出现在匹配的一对单引号之内的字符串处理成缺失数据,而在双引号中的数值则不被处理成缺失数据。
抽掉字符串而不是生成NA(Drop string s d’ont make NA)选项。
由于Eviews不支持字符串,那么作为观察值输入的任何一个不是数值或不是定界符的数据,按照缺生设置将被当成缺失数据处理。
例如,10b 和90:40被处理成缺失数据(除非这里将字母字符或 : 号设成了定界符)。
这里的抽掉自字符串选项将跳过这些字符串,而不是将它们处理成NA。
如果选择了这个选项,那么由字符串组成的的序列名也将被跳过,这些序列名将被命名为Eviews的缺省序列名:SER01, SER02,……等等。
此时如果愿意自己给序列命名,可在对话框中列出序列名清单。
注意,那些已将缺失数据设置成缺失字符(例如NA)的将不被跳过,以便正确地标明它们是缺失数据。
位于( )号之内的数值摄制成负数选项Numbers in ( ) are negative. By 位于( )号之内的数值设置成负数选项Numbers in ( ) are negative。
按照Eviews的缺省设置,园括号是作为字符处理的。
如果选择了这个选项,圆括号内的数值将作为一个负数读入。
在数值中允许存在逗号选项(Allow commas in numbers)。
按照缺省设置逗号被作为字符串处理,除非用户将逗号设定成定界符。
例如,将1,000读入时,按照缺省设置或者被处理为NA(除非选择了抽掉字符串选项,跳过了它们),或者作为两个数读入——一个是1另一个是0(此时逗号设置成定界符)。
如果选择了允许包涵逗号选项,将把1,000作为1000读入。
货币选项(Currency)允许用户为货币设置币种符号。
例如,按照缺省设置,$10是作为字符串处理的(要么在读入时记作NA,要么被跳过),除非已将$设置成定界符。
如果用户在币种符号选相中键入了$字符,那么$10将作为10读入。
币种符号可以出现在一个数值的开始或者出现在一个数值的结尾,但是不能出现在一个数值的中间。
如果在币种符号选栏键入了不只一个符号,那么每一个符号都将作为一个货币符号。
币种符号是区分大小写的,例如,日元将以Y符号为前导而不能以y符号为前导。
设置缺失值代码选项(Text for NA)。
这个选项允许为缺失值设置代码。
缺失值的缺省代码是NA。
读入数据文件时运用这个选项可采用一些特定数值来表示缺失值,例如用“.”或“-99”表示缺失值。
只能用一个代码表示缺失观察值。
所有NA字符串都被处理成缺失值。
六、导入ASCII文件例1(ASCII Import Example 1)
例题数据文件格式如下:
这是一个截面数据资料,七个序列按列排列,其间用空格间隔。
注意,其中的B序列取字符串值,它们在读入时将被处理成NA。
如果在序列个数栏键入7并采用缺省设置,那么Eviews将正确地读入数据文件。
注意,按照缺失设置即使序列之间只用一个空格作定界符,Eviews也要检查多重定界符处理为一个定界符选项(multiple delimiters as one)。
在本例中,如果不选择这个校验项,将会出现一些看起来十分奇怪的现象。
第7个序列BB将不会被读入,而且又在第一个序列X的前面读入了一个名叫SER01的序列。
发生奇怪现象的原因在于数据文件的一些行的最前端存在一个空格。
Eviews把最前端的空格当成定界符处理,并为最前端的空格寻找到一个缺省的序列。
因此将读入的第一个序列命名为SER01,读入其中的数据分别是NA, 10, NA, 12。
从而造成其他数据也被错误地读入。
为了处理这类情况,必须同时选择处理多重定界符为一个选项和按矩形数据排列选项,Eviews将忽略第一列数据前端的定界符。
七、导入ASCII文件例2(ASCII Import Example 2)
本示例数据文件的顶部排列如下:
这是一个按列排列的截面数据文件,缺失数据的代码是“-999.0 ”。
共有8个序列,每个序列用空格间隔。
第一个序列是字符串型的标识名ID。
如果采用Eviews的缺省设置,会发生数据读入错误。
因为标识ID中的空格会在每个读入行中生成虚假的NA值,破坏了数据的矩形排列格式。
例如,在第一个名称中将生成两个NA值,“African”处理成一个字符串,“elephant”处理成另一个字符串。
必须采用抽掉字符串选项,来跳过数据文件中的字符串避免生成NA编码。
并在ASCII对话框中再设置如下的一些变动:
由于跳过了第一个字符串序列,因此在列表中只列出了余
下的7个序列名。
因为文件中没有序列标题行,所以序列标题行的偏移量设
置为1。
如果不能确定定界符采用的究竟是空格或者是tab,那么在
处理多重定界符为一中选项中再选择both选项。
选择抽掉字符串选项。
在缺失数据编码栏中精确地遵照文件里出现的形式键入缺
失值代码,这里应键入“-999.0”而不是“-999.”
八、导入ASCII文件例3(ASCII Import Example 3)这是一个以天数为时间间隔的数据文件,数据排列如下:
数据文件的前部有10行是描述数据文件的,第11行是序列名标题栏,第12行开始才是数据。
数据按列分布,排列成矩形形式,缺失数据代码为0。
读入数据最简单的方法是将缺省设置作如下的修改:
在序列个数栏键入3。
设置序列标题偏移量为1。
标记处理多重定界符为一选项,点击逗号和空格为定界符。
标记数据文件按矩形排列选项和设置跳过行数为10。
在缺失数据代码栏输入0。
这里跳过矩形数据的前10行后,读入3个序列的数据。
每个序列仍然采用数据文件中的序列名。
这种设置产生的唯一问题在于用NA填充了日期序列DATE,因为Eviews将键入的斜杠“/”处理成字符串(在键入日期时采用了斜杠“/”。
)
为了避免上述问题,在定界符的自定义编辑框中,将斜杠“/”设置成定界符。
这样一来数据文件中的第一列被读作3个各不相同的序列,因为其中的两个斜杠被处理成定界符。
为此,修改选各项设置如下:
列出5个序列名为month day year aa baa。
我们已经不能
再沿用数据文件中的3个序列名了。
设置序列标题偏移量为0。
在定界符自定义编辑框中增加斜杠“/”为定界符。
跳过的行数设置为11,因为这里要求跳过序列名标题行。
由于month, day 和 year被分别读成了3个独立的序列,这样虽然不能再进行快速的检索,但却保证了正确地将数据读入。
九、矩阵对象的读取与写出(Matrix Object Reading and Writing)
矩阵对象中有两个可以采用的过程,允许直接从数据文件中导入和导出数据或者从另一矩阵对象文件中将数据导入和导出。
像其他标准的Eviews 的导入、导出过程一样,这里也允许导入、导出电子数据表格式的数据文件或者ASCII格式的数据文件。
为了从磁盘数据文件中读取数据,应从矩阵窗口中选择Procs/Import Data (ASCII, .XLS, .WK?)。
Eviews将打开一个导入对话框。
这里的导入和导出对话框与经由序列的导入对话框之间存在少许差别。
这些差别。