首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >plm()在R中和panelOLS()中如何处理缺失的值

plm()在R中和panelOLS()中如何处理缺失的值
EN

Stack Overflow用户
提问于 2022-03-03 20:30:52
回答 1查看 213关注 0票数 0

我正在构建一个模型,使用来自plm()包的函数plm

我的一个x变量包含NAs,因为我使用了t-1滞后计算。

我的R代码如下所示

代码语言:javascript
运行
复制
panel_df <- pdata.frame(df, index = c("AUTHOR_ID", "Year"), drop.index = TRUE, row.names = TRUE)

plmFit1 <- plm(y~ x1 + x2 + x3_t_1, data = panel_df, effect = 'twoways')

我在联机文件里发现的最好的事情就是

数据不一定是连续的(距离为1的规则时间序列),因为平衡并不意味着连续。若要使数据连续,请使用make.pconsecutive() (可选的是,set参数balanced = TRUE以使数据连续和平衡,还请参阅两个函数的比较示例。注意:在单个索引或时间索引中包含NA值的(p)data.frames (pseries元素)行没有被检查,而是在数据平衡之前被静默删除。在这种情况下,不能推断哪一个或哪个时间段是指缺失的值(另见示例)。特别是,这意味着:一个人在最初时间段的第一个/最后一个位置上的NA值被删除,这通常是为了描述该个人的时间序列的开始和结束。因此,在应用make.pbalanced之前,可能需要检查索引变量中是否存在NA值,特别是检查原始数据中每个个体在第一个和最后一个位置上的NA值,如果是的话,可能将这些值设置为时间序列的有意义的开始/结束值。

我也没有为panelOLS找到任何东西。

默认情况下,它们如何处理丢失的值,因为我接收的输出具有系数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 22:10:13

我不能对Python的panelOLS发表评论,但我会假设它是类似的。

plm遵循标准的lm行为:在估计之前用NA值下降观测值(行)。你引用的文件与这种行为无关。

比较您的数据预估计(dfpanel_df)和数据后估计(如在$model中的模型对象中找到的)。

您还可以查看?na.omit并阅读所描述的na.omit行为(plm不支持描述的其他方法)。

下面是一个示例:

代码语言:javascript
运行
复制
library(plm)
data(Grunfeld) 
pdf <- pdata.frame(Grunfeld)

head(pdf)
#>        firm year   inv  value capital
#> 1-1935    1 1935 317.6 3078.5     2.8
#> 1-1936    1 1936 391.8 4661.7    52.6
#> 1-1937    1 1937 410.6 5387.1   156.9
#> 1-1938    1 1938 257.7 2792.2   209.2
#> 1-1939    1 1939 330.8 4313.2   203.4
#> 1-1940    1 1940 461.2 4643.9   207.2

pdf[3, "inv"] <- NA # set one value to NA in 3rd row (1-1937)
head(pdf)
#>        firm year   inv  value capital
#> 1-1935    1 1935 317.6 3078.5     2.8
#> 1-1936    1 1936 391.8 4661.7    52.6
#> 1-1937    1 1937    NA 5387.1   156.9
#> 1-1938    1 1938 257.7 2792.2   209.2
#> 1-1939    1 1939 330.8 4313.2   203.4
#> 1-1940    1 1940 461.2 4643.9   207.2

nrow(pdf) # 200
#> [1] 200

# estimate model    
mod <- plm(inv ~ value + capital, data = pdf, model = "within")

head(mod$model) # no entry for 1-1937
#>          inv  value capital
#> 1-1935 317.6 3078.5     2.8
#> 1-1936 391.8 4661.7    52.6
#> 1-1938 257.7 2792.2   209.2
#> 1-1939 330.8 4313.2   203.4
#> 1-1940 461.2 4643.9   207.2
#> 1-1941 512.0 4551.2   255.2

nrow(mod$model) # 199 rows
#> [1] 199
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71343445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档