- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个以 felm 对象作为参数的 R 函数。该函数似乎无法识别函数内部的 felm 对象,但是,如果我在函数外部运行代码,它可以正常工作。有人可以帮我理解为什么这不起作用吗?谢谢!下面是可重现的例子。
library(sandwich)
library(lfe)
set.seed(2020)
x <- rnorm(1000)
x2 <- rnorm(length(x))
y <- x + 0.5*x2
adj_test <- diag(1, 1000, 1000)
test_felm <- felm(y ~ x + x2 | 0 | 0 | 0)
vcov.adjacency.robust <- function(felm_object, adjacency.matrix, estfunc=sandwich::estfun) {
eef <- estfunc(felm_object)
N <- nrow(adjacency.matrix)
m <- crossprod(eef, adjacency.matrix %*% eef)
sandwich(felm_object, meat = as.matrix(m) / N)
}
vcov.adjacency.robust(test_felm, adj_test)
Error in model.matrix(x) : object 'felm_object' not found
eef <- sandwich::estfun(test_felm)
N <- nrow(adj_test)
m <- crossprod(eef, adj_test %*% eef)
sandwich(test_felm, meat = as.matrix(m) / N)
(Intercept) x x2
(Intercept) 2.772862e-33 2.615412e-34 2.335601e-35
x 2.615412e-34 7.750617e-33 7.657461e-34
x2 2.335601e-35 7.657461e-34 2.947959e-33
最佳答案
sandwich::estfun
正在调用一个方法,
sandwich::estfun
# function (x, ...)
# {
# UseMethod("estfun")
# }
# <bytecode: 0x00000000142bb260>
# <environment: namespace:sandwich>
并且该方法在函数中似乎不可访问。所以直接调用正确的函数,即 sandwich:::estfun.lm
,解决了这个问题。
vcov.adjacency.robust <- function(felm_object, adjacency.matrix,
estfunc=sandwich:::estfun.lm) {
eef <- estfunc(felm_object)
N <- nrow(adjacency.matrix)
m <- crossprod(eef, adjacency.matrix %*% eef)
sandwich(felm_object, meat = as.matrix(m) / N)
}
(res <- vcov.adjacency.robust(test_felm, adj_test))
# (Intercept) x x2
# (Intercept) 2.772862e-33 2.615412e-34 2.335601e-35
# x 2.615412e-34 7.750617e-33 7.657461e-34
# x2 2.335601e-35 7.657461e-34 2.947959e-33
eef <- estfun(test_felm)
N <- nrow(adj_test)
m <- crossprod(eef, adj_test %*% eef)
check <- sandwich(test_felm, meat = as.matrix(m) / N)
stopifnot(all.equal(res, check))
关于R 函数没有正确地将 felm 对象作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61504407/
我正在尝试从具有许多因素的线性模型中获取拟合值,我想使用 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 结果不会出现此问题。
我是一名优秀的程序员,十分优秀!