r - 获取 R 中回归使用的数据观察值 (plm)

标签 r regression plm

我正在使用包 plm 估算面板模型。 面板中的一些人没有所有解释变量的数据,因此他们被排除在回归之外。 我如何才能看到哪些特定观察已用于估计?

在 Stata 中,通常的命令是 e(sample)。 R 中的等价物是什么?

最佳答案

用于模型的数据存储在 plm 函数返回的列表中。该列表包含多个元素,其中一个名为 model。这是存储用于模型的数据的地方。下面是一个基于 plm 帮助的示例:

library(plm)

data("Produc")

让我们将 Produc$pcap 的前 20 个值设置为 NA(缺失数据):

Produc$pcap[1:20] = NA

现在我们将使用 Produc 创建一个 plm 模型:

zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
          data = Produc, index = c("state","year"))

zz 是包含 plm 函数返回的信息的列表。您可以运行 str(zz) 来查看 zz 包含的内容。用于模型的数据存储在 zz$model 中。您可以通过从 21 开始的行名看到前 20 行丢失了,因为我们在这些行中将 Produc$pcap 设置为 NA

head(zz$model)  # You can also do: head(zz[["model"]])
   log(gsp) log(pcap)  log(pc) log(emp) unemp
21 10.13634  9.358610 10.21481 6.571583   4.1
22 10.15417  9.403360 10.26915 6.614726   5.6
23 10.12323  9.467233 10.31703 6.591811  12.0
24 10.16743  9.518111 10.28821 6.631606   9.8
25 10.24388  9.559265 10.31137 6.696170   8.2
26 10.34374  9.603196 10.34623 6.797271   6.1

如果要选择模型中使用的数据框行,可以使用 zz$model 的行名作为子集索引:

Produc[rownames(zz$model), ]

Produc[complete.cases(Produc), ] 将仅返回数据框中没有任何缺失数据的那些行。但是请注意,如果数据框中的某些列缺少数据,但未在模型公式中使用,那么这种方法通常会排除一些在模型中仍然使用的数据行(异常(exception)情况是模型中未使用的列中的缺失数据总是伴随着模型中使用的列中的缺失数据出现在同一行中。

关于r - 获取 R 中回归使用的数据观察值 (plm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42963621/

相关文章:

r - 如何将由不同长度的向量组成的列表转换为R中可用的数据框?

r - 在(R,ggplot2)中围绕条形图和类别绘制一个矩形

r - 多项式回归的置信区间

r - 为什么我会得到 NA 系数以及 `lm` 如何降低交互引用水平

r - plm问题,重复的时间ID错误

r - runif() 真的有文档中所述的范围 : 0<= runif(n) <= 1, 吗?

r - RStudio 的 BaylorEdPsych 包;无法安装包

statistics - 方差分析不显着,但系数变量显着?

r - 具有交互项的固定效应回归会导致错误

R:避免summary.plm