在 R 中生成滞后时间序列横截面变量 [英] Generating a lagged time series cross sectional variable in R

查看:34
本文介绍了在 R 中生成滞后时间序列横截面变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 R 新用户.我有一个时间序列横截面数据集,虽然我已经找到了在 R 中滞后时间序列数据的方法,但我还没有找到创建滞后时间序列横截面变量的方法,以便我可以在我的分析中使用它们.

I am a new R user. I have a time series cross sectional dataset and, although I have found ways to lag time series data in R, I have not found a way to create lagged time-series cross sectional variables so that I can use them in my analysis.

推荐答案

以下是将 lag() 函数与 zoo(和面板系列数据)结合使用的方法:

Here's how you could use the lag() function with zoo (and panel series data):

> library(plm)
> library(zoo)
> data("Produc")
> dnow <- pdata.frame(Produc)
> x.Date <- as.Date(paste(rownames(t(as.matrix(dnow$pcap))), "-01-01", sep=""))
> x <- zoo(t(as.matrix(dnow$pcap)), x.Date)
> x[1:3,1:3]
            ALABAMA  ARIZONA ARKANSAS
1970-01-01 15032.67 10148.42  7613.26
1971-01-01 15501.94 10560.54  7982.03
1972-01-01 15972.41 10977.53  8309.01

落后 1:

> lag(x[1:3,1:3],1)
            ALABAMA  ARIZONA ARKANSAS
1970-01-01 15501.94 10560.54  7982.03
1971-01-01 15972.41 10977.53  8309.01

落后 1:

> lag(x[1:3,1:3],k=-1)
            ALABAMA  ARIZONA ARKANSAS
1971-01-01 15032.67 10148.42  7613.26
1972-01-01 15501.94 10560.54  7982.03

正如 Dirk 所提到的,请注意不同时间序列包中滞后的含义.注意 xts 如何区别对待这个:

As Dirk mentioned, be careful with the meaning of lag in the different time series packages. Notice how xts treats this differently:

> lag(as.xts(x[1:3,1:3]),k=1)
            ALABAMA  ARIZONA ARKANSAS
1970-01-01       NA       NA       NA
1971-01-01 15032.67 10148.42  7613.26
1972-01-01 15501.94 10560.54  7982.03

这篇关于在 R 中生成滞后时间序列横截面变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆