使用 pgmm 函数时 lag(log(emp), 1:2) 是什么意思?
What does lag(log(emp), 1:2) mean when using pgmm function?
我在 plm 包中尝试了一个关于 pgmm 函数的例子。代码如下:
library(plm)
data("EmplUK", package = "plm")
## Arellano and Bond (1991), table 4 col. b
z1 <- pgmm(log(emp) ~ lag(log(emp), 1:2) + lag(log(wage), 0:1)
+ log(capital) + lag(log(output), 0:1) | lag(log(emp), 2:99),
data = EmplUK, effect = "twoways", model = "twosteps")
summary(z1, robust = FALSE)
我不确定 lag(log(emp), 1:2)
和 lag(log(emp), 2:99)
的含义。 lag(log(emp), 1:2)
是否表示从一个单位到两个单位的滞后值 log(emp)
和 lag(log(emp), 2:99)
从两个单位到 99 个单位的滞后值 log(emp)?
而且有时我在 运行 摘要部分的回归时出现错误,但有时没有这样的错误(代码相同):
Error in !class_ind : invalid argument type
谁能帮我解决这些问题?That's the error here
log
,一个基本的 R 函数,为您提供(自然)对数,在本例中为变量 emp
.
包 plm
的 lag
可以给出第二个参数,称为 k
,就像在您的示例中一样。通过查看 ?plm::lag.plm
可以清楚地看到:k
是
an integer, the number of lags for the lag and lead methods (can also
be negative). For the lag method, a positive (negative) k gives lagged
(leading) values. For the lead method, a positive (negative) k gives
leading (lagged) values, thus, lag(x, k = -1) yields the same as
lead(x, k = 1). If k is an integer with length > 1 (k = c(k1, k2,
...)), a matrix with multiple lagged pseries is returned
因此,不用输入两次 lag
来获得第一次和第二次滞后:
(lag(<your_variable>, 1)
lag(<your_variable>, 2)
只需输入
lag(<your_variable>, k = 1:2)
,或没有命名参数
lag(<your_variable>, 1:2)
.
将 k
设置为 2:99
会得到第 2 到第 99 个滞后。
数量是指滞后适用的时间段数,不是指个体(单位)的数量,因为滞后适用于所有个体。
您可能需要 运行 ?plm::lag.plm
中的示例以帮助理解该函数。
我在 plm 包中尝试了一个关于 pgmm 函数的例子。代码如下:
library(plm)
data("EmplUK", package = "plm")
## Arellano and Bond (1991), table 4 col. b
z1 <- pgmm(log(emp) ~ lag(log(emp), 1:2) + lag(log(wage), 0:1)
+ log(capital) + lag(log(output), 0:1) | lag(log(emp), 2:99),
data = EmplUK, effect = "twoways", model = "twosteps")
summary(z1, robust = FALSE)
我不确定 lag(log(emp), 1:2)
和 lag(log(emp), 2:99)
的含义。 lag(log(emp), 1:2)
是否表示从一个单位到两个单位的滞后值 log(emp)
和 lag(log(emp), 2:99)
从两个单位到 99 个单位的滞后值 log(emp)?
而且有时我在 运行 摘要部分的回归时出现错误,但有时没有这样的错误(代码相同):
Error in !class_ind : invalid argument type
谁能帮我解决这些问题?That's the error here
log
,一个基本的 R 函数,为您提供(自然)对数,在本例中为变量 emp
.
plm
的 lag
可以给出第二个参数,称为 k
,就像在您的示例中一样。通过查看 ?plm::lag.plm
可以清楚地看到:k
是
an integer, the number of lags for the lag and lead methods (can also be negative). For the lag method, a positive (negative) k gives lagged (leading) values. For the lead method, a positive (negative) k gives leading (lagged) values, thus, lag(x, k = -1) yields the same as lead(x, k = 1). If k is an integer with length > 1 (k = c(k1, k2, ...)), a matrix with multiple lagged pseries is returned
因此,不用输入两次 lag
来获得第一次和第二次滞后:
(lag(<your_variable>, 1)
lag(<your_variable>, 2)
只需输入
lag(<your_variable>, k = 1:2)
,或没有命名参数
lag(<your_variable>, 1:2)
.
将 k
设置为 2:99
会得到第 2 到第 99 个滞后。
数量是指滞后适用的时间段数,不是指个体(单位)的数量,因为滞后适用于所有个体。
您可能需要 运行 ?plm::lag.plm
中的示例以帮助理解该函数。