第六章数据操作
1 第六章 数据操作
§61使用表达式 EViews提供了强大的对表达、产生和使用序列和数据的 语言支持, EViews中可以使用表达式 §6..1表达式的使用 EViews提供了广泛的运算符集和庞大的内建函数库。 EViews不仅提供了标准的数学运算和统计运算,也提供了很多 能够自动处理时间序列中的先行、滞后、差分等操作的特殊函 数 EViews的表达式是由数字、序列名、函数、数学运算符 和关系运算符组成
2 §6.1 使用表达式 EViews 提供了强大的对表达、产生和使用序列和数据的 语言支持,EViews中可以使用表达式。 §6.1.1 表达式的使用 EViews提供了广泛的运算符集和庞大的内建函数库。 EViews不仅提供了标准的数学运算和统计运算,也提供了很多 能够自动处理时间序列中的先行、滞后、差分等操作的特殊函 数。 EViews的表达式是由数字、序列名、函数、数学运算符、 和关系运算符组成
§6.1.2运算符 EViews中包含的基本算术运算符分别是+、-、*、/、(幂), 例如:5+6/13、3^2-9参加运算的数可以写为整数形式、十进制 形式和科学计数法的形式。 另外+、-还可以作为符号运算符来使用。比如:2++++-2, EViews各种运算符的优先级别为(从高到低): +(正号),-(负号) and or 最后2列用于逻辑运算 EViews的表达式是从左往右计算的,也可以使用括号来改变 算的先后顺序
3 §6.1.2 运算符 EViews中包含的基本算术运算符分别是 +、-、*、/、^(幂), 例如: 5+6/13 、3^2-9 参加运算的数可以写为整数形式、十进制 形式和科学计数法的形式。 另外 +、-还可以作为符号运算符来使用。比如:2++++++-2, EViews各种运算符的优先级别为(从高到低): +(正号),-(负号) ^ * / + - <> = = and or 最后2列用于逻辑运算。 EViews的表达式是从左往右计算的,也可以使用括号来改变 运算的先后顺序
§6..3序列表达式 EViews的表达式还可以对样本序列的观测值进行操作,比 如 2*y+3表示用2乘以y的每一个观测值之后加3。也可以在 个运算中使用多个序列。例:Xy+z §6..4序列函数 EViews提供的函数能够对当前样本的序列元素进行运算 些函数是“元素函数”他们返回的是序列中每一个元素的值 有些是“整体函数”他们返回的是标量、向量和矩阵。这些函 数一般在创建新序列时使用或在矩阵语言中使用。 EViews中大多数函数前都有一个@符号.例:@mean此函 数可以计算一个序列的平均值。例: scalar s s=@mean(x)
4 §6.1.3 序列表达式 EViews的表达式还可以对样本序列的观测值进行操作,比 如: 2*y+3 表示用2乘以y的每一个观测值之后加3。也可以在一 个运算中使用多个序列。例:x/y+z §6.1.4 序列函数 EViews提供的函数能够对当前样本的序列元素进行运算, 一些函数是“元素函数”他们返回的是序列中每一个元素的值。 有些是“整体函数”他们返回的是标量、向量和矩阵。这些函 数一般在创建新序列时使用或在矩阵语言中使用。 EViews中大多数函数前都有一个@符号.例: @mean 此函 数可以计算一个序列的平均值。例: scalar s s=@mean(x)
§6..5序列元素 有时希望使用序列中的一个实际观测值。 EViews提供的@eem函数可实现此操作,@eem有 两个参数,第一个参数是序列名,第二个参数是数据 或观测值的标识符。例如:使用y序列中的1980:3 的季度数据,则应写为:@eem(y,1980:3)。非时间 序列x的第323个数据:@em(x,323)
5 §6.1.5 序列元素 有 时 希 望 使 用 序列 中 的 一 个 实 际 观测 值 。 EViews提供的@elem函数可实现此操作,@elem有 两个参数,第一个参数是序列名,第二个参数是数据 或观测值的标识符。例如:使用y序列中的1980:3 的季度数据,则应写为:@elem(y,1980:3)。非时间 序列x的第323个数据: @elem(x,323)
§6.1.6逻辑表达式 使用逻辑表达式来计算真假值。逻辑表达式能作为数学表达 式的一部分、样本描述的一部分或在程序中作为if判断的一部分 例如:incm>5000这个表达式允许我们选择特殊条件的观测值, ncm值大于5000,则就得到真值,否则得到假值。 通常,逻辑表达式中常用到比较运算符“=、 <>’。另外,还可以使用逻辑运算符‘and、°or'组成更复杂的逻 辑表达式。例如:incm>5000 and educ>=2000。注意: EViews用1 表示真,用0表示假。因此,可以用逻辑值参加数学运算。例如: inc=2000),如果inc<300,得1,否则得0。另 外,‘=既可以当赋值运算符,又可以当作比较运算符使用。现 在,我们只要注意到‘=)用于关系表达式中就表示是比较运算符
6 §6.1.6 逻辑表达式 使用逻辑表达式来计算真假值。逻辑表达式能作为数学表达 式的一部分、样本描述的一部分或在程序中作为if判断的一部分。 例如:incm>5000 这个表达式允许我们选择特殊条件的观测值, incm值大于5000,则就得到真值,否则得到假值。 通常,逻辑表达式中常用到比较运算符‘、>=、=、 <>’。另外,还可以使用逻辑运算符‘and’ 、 ‘or’组成更复杂的逻 辑表达式。例如:incm>5000 and educ>=2000。注意:EViews用1 表示真,用0表示假。因此,可以用逻辑值参加数学运算。例如: (inc =2000),如果inc<300,得1,否则得0。另 外,‘= ’既可以当赋值运算符,又可以当作比较运算符使用。现 在,我们只要注意到‘=’用于关系表达式中就表示是比较运算符
§6.1.7先行指标、滞后指标和差分 处理序列中的先行、滞后指标是很容易的,只要在序列名 后加一对小括号,括号中写上先行滞后的数字即可。滞后的数 字用负号表示,先行的用正数表示。例如: Income(-4)表示收入 序列的四阶延迟的滞后指标。sles(2)表示 sales序列的超前二阶 的先行指标。括号中的数要求是整数,但写入的数也可以不是 整数,这时系统会自动把它转换成整数。如果转换不了系统会 发出警告。如果必须使用非整型数,最好使用@roud、@foos ace函数处理一下。 EⅤiews中有些地方,可以指定一个先行或滞后指标的分布。 例如:在估计方程中可以有这样的表达式 Income(-lto-4)这里 描述的是一个从1到4的滞后指标的分布。例如: sales sales(-1)sales(-2) sales(-3) sales(-4) sales(o to -4 ales( to -4 是完全等价的
7 §6.1.7 先行指标、滞后指标和差分 处理序列中的先行、滞后指标是很容易的,只要在序列名 后加一对小括号,括号中写上先行滞后的数字即可。滞后的数 字用负号表示,先行的用正数表示。例如:income(-4)表示收入 序列的四阶延迟的滞后指标。sales(2)表示sales序列的超前二阶 的先行指标。括号中的数要求是整数,但写入的数也可以不是 整数,这时系统会自动把它转换成整数。如果转换不了系统会 发出警告。如果必须使用非整型数,最好使用@round、@floor、 @ceil函数处理一下。 EViews中有些地方,可以指定一个先行或滞后指标的分布。 例如:在估计方程中可以有这样的表达式 income(-1 to -4) 这里 描述的是一个从1到4的滞后指标的分布。例如: sales sales(-1) sales(-2) sales(-3) sales(-4) sales(0 to -4) sales(to -4) 是完全等价的
EⅤiews也有几个函数可以处理差分或先取对数后作差分。 D函数和DOG函数就可以实现此功能。例如: d( Income)等价于 Income- Income(-1) dlog(income)等价于log( (income)-og( Income(-1) 并且这两个函数可以提供更高阶的差分计算。例如: d(income, 4) dlog(income, 4) 这是作四阶差分 也可以既指定作季节差分,又指定作普通差分。例如 d( income,1,4)等价于d( ncome- Income(4) dlog( ncome,1,4)等价于d( (log(income)-log( Income(-4) 如果只作季节差分,就把普通差分项设为0。例如: d( (income,0,4)等价于 Income- -income( dlog(income,04)等价于log( Income)log( Income(-4)8
8 EViews也有几个函数可以处理差分或先取对数后作差分。 D函数和DLOG函数就可以实现此功能。例如: d(income) 等价于 income-income(-1) dlog(income) 等价于 log(income)-log(income(-1) 并且这两个函数可以提供更高阶的差分计算。例如: d(income,4) dlog(income,4) 这是作四阶差分。 也可以既指定作季节差分,又指定作普通差分。例如: d(income,1,4) 等价于 d(income-income(-4)) dlog(income,1,4) 等价于 d(log(income)-log(income(-4)) 如果只作季节差分,就把普通差分项设为0。例如: d(income,0,4) 等价于 income-income(-4) dlog(income,0,4) 等价于 log(income)-log(income(-4)
§6.1.8缺失数据 在处理数据时可能会遇到一些没有值 或某一时段观测值没有用,或者进行了一些 非法计算(例如用一个数除以0), EViews使 用空值NA表示这些情况
9 §6.1.8 缺失数据 在处理数据时可能会遇到一些没有值 或某一时段观测值没有用,或者进行了一些 非法计算(例如用一个数除以0),EViews使 用空值NA表示这些情况
§6,2序列的操作 表达式的一个主要用途是从一个存在的序列产生一个新序 列或修正已存在的序列值。另外,表达式也允许你进行复杂的 数据传送,并可以保存新序列或已经存在序列对象的结果。 §62.1建立一个新序列 选择 quick/ generate series.或者单击工作文件工具条上的 enr”按钮。 EViews会弹出一个窗口,只要在上面的编辑框中 写上分配表达式,并在下面编辑框中写上相应的样本空间即可。 另外,写入的表达式在计算时是针对每一个观测值的
10 §6.2 序列的操作 表达式的一个主要用途是从一个存在的序列产生一个新序 列或修正已存在的序列值。另外,表达式也允许你进行复杂的 数据传送,并可以保存新序列或已经存在序列对象的结果。 §6.2.1 建立一个新序列 选择quick/generate series…或者单击工作文件工具条上的 “genr”按钮。EViews会弹出一个窗口,只要在上面的编辑框中 写上分配表达式,并在下面编辑框中写上相应的样本空间即可。 另外,写入的表达式在计算时是针对每一个观测值的