- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我基于具有大量单位固定效应的“巨大”面板数据进行了回归。所以我使用了包“lfe”中的函数“felm()”。此外,我在回归中有两个连续变量的交互项。但是在绘制 x 对 y 的边际效应如何随 x2 变化时,似乎“felm()”生成的对象通常与大多数绘图函数(如“ggplot”、“interplot()”和“meplot”)不兼容。但我必须使用“felm()”,因为我需要控制大量的单位固定效应(就像人们在 Stata 中使用“reghdfe”所做的那样)。那么,我该如何在 R 中解决这个问题呢?随时让我知道一些出路。谢谢!
这是一个关于 interplot() 如何不能与 felm() 一起工作的例子:
# An example data:
library(lfe)
library(ggplot2)
library(interplot)
oldopts <- options(lfe.threads=1)
x <- rnorm(1000)
x2 <- rnorm(length(x))
id <- factor(sample(10,length(x),replace=TRUE))
firm <- factor(sample(3,length(x),replace=TRUE,prob=c(2,1.5,1)))
year <- factor(sample(10,length(x),replace=TRUE,prob=c(2,1.5,rep(1,8))))
id.eff <- rnorm(nlevels(id))
firm.eff <- rnorm(nlevels(firm))
year.eff <- rnorm(nlevels(year))
y <- x + 0.25*x2 + id.eff[id] + firm.eff[firm] +
year.eff[year] + rnorm(length(x))
mydata <- data.frame(cbind(y, x, x2, id, firm, year))
# Regression using felm():
reg1 <- felm(y ~ x + x2 + x:x2|id+firm+year|0|id, data=mydata)
summary(reg1)
# Using interplot() to plot marginal effects
interplot(m=reg1, var1="x", var2="x2", ci=0.9)
然后出现错误:
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘sim’ for signature ‘"felm"’
我也试过 meplot() 但还是不行:
# Using meplot() to plot marginal effects
library(evir)
meplot(model=reg1, var1="x", var2="x2", int="x:x2", vcov=vcov(reg1), data=mydata)
我遇到了一个错误:
Error in meplot(model = reg1, var1 = "x", var2 = "x2", int = "x:x2", vcov = vcov(reg1), :
(list) object cannot be coerced to type 'double'
最佳答案
我已经使用 ggplot2
、coef()
和 vcov()
来实现我想要的,手工绘制边际效应。
library(ggplot2)
beta.hat <- coef(reg1)
vcov1 <- vcov(reg1)
z0 <- seq(min(x2), max(x2), length.out = 1000)
dy.dx <- beta.hat["x"] + beta.hat["x:x2"]*z0
se.dy.dx <- sqrt(vcov1["x", "x"] + (z0^2)*vcov1["x1:x2", "x1:x2"] + 2*z0*vcov1["x", "x1:x2"])
upr <- dy.dx + 1.96*se.dy.dx
lwr <- dy.dx - 1.96*se.dy.dx
ggplot(data=NULL, aes(x=z0, y=dy.dx)) +
labs(x="x2", y="Marginal Effects",
title=paste("Marginal Effects of x on y vary with x2"),
cex=4) +
geom_line(aes(z0, dy.dx),size = 1) +
geom_line(aes(z0, lwr), size = 1, linetype = 2, color="blue") +
geom_line(aes(z0, upr), size = 1, linetype = 2, color="blue") +
geom_hline(yintercept=0, size = 1, linetype=3) +
geom_ribbon(aes(ymin=lwr, ymax=upr), alpha=0.3)
关于r - 如何在 felm() 函数之后绘制交互的边际效应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59228572/
我正在尝试从具有许多因素的线性模型中获取拟合值,我想使用 R 包 lfe 中的 felm 函数进行估算。除非我误解了函数返回的 fitted.values 的含义,否则看起来这些值与我手动构建它们时获
由于实现了聚类标准误差方法,我想用 felm() 估计一个工具变量模型。使用 AER::ivreg() 和 plm::plm() 我可以生成相同的结果。然而,在 felm() 中指定函数对我来说似乎不
我基于具有大量单位固定效应的“巨大”面板数据进行了回归。所以我使用了包“lfe”中的函数“felm()”。此外,我在回归中有两个连续变量的交互项。但是在绘制 x 对 y 的边际效应如何随 x2 变化时
我正在尝试编写一个以 felm 对象作为参数的 R 函数。该函数似乎无法识别函数内部的 felm 对象,但是,如果我在函数外部运行代码,它可以正常工作。有人可以帮我理解为什么这不起作用吗?谢谢
这有效: felm(y ~ x1 + x2 | fe1 + fe2 | 0 | , data = data) 我想要: fixedeffects = "fe1 + fe2" felm(y ~ x1
如果使用 felm 中的投影方法清除固定效应,是否有办法从 lfe::felm 中获得具有标准误差的预测行为?这个问题与问题here非常相似。 ,但该问题的任何答案都不能用于估计标准误差或置信/预测区
这有效: felm(y ~ x1 + x2 | fe1 + fe2 | 0 | , data = data) 我想要: fixedeffects = "fe1 + fe2" felm(y ~ x1
我正在使用 felm()来自 lfe 的函数用于拟合具有大量固定效应的线性模型的软件包。我希望能够仅使用固定效果来拟合模型。例如,我希望能够知道这样一个模型的 R^2,并有可能将其与具有更大预测变量集
有没有人有一个很好的干净的方式来获得predict felm 的行为楷模? library(lfe) model1 <- lm(data = iris, Sepal.Length ~ Sepal.Wi
我在 R 中有一个 felm 对象,我正在尝试制作一个表格来比较 OLS 估计和 IV 估计的系数估计。下面的代码生成一个表格,其中包含两个系数估计值,x 和“x(fit)”,位于不同的行中。 l
我正在尝试使用 stargazer 包来输出我的回归结果。我使用 lfe 包中的 felm 执行回归。 stargazer 输出表正确显示所有内容,但 F 统计值仍为空白。 lm 结果不会出现此问题。
我是一名优秀的程序员,十分优秀!