我有一个从R中的estimatr包调用lm_robust函数的函数。我希望能够指定一个变量来对标准错误进行聚类,但是lm_robust函数只允许在lm_robust的集群选项中使用裸(无引号)变量名,而我的函数需要将输入作为带引号的变量名。
如何将输入到函数中的变量(如"cl")转换为未加引号的变量(如cl)?
发布于 2019-02-23 01:15:27
在do.call中使用as.name
library(estimatr)
example(lm_robust)
## ... snip ...
clname <- "clusterID"
do.call("lm_robust", list(y ~ x + z, data = quote(dat), weights = quote(w),
clusters = as.name(clname)))给予:
Estimate Std. Error t value Pr(>|t|) CI Lower CI Upper
(Intercept) 3.4261621 0.2009692 17.0481986 1.332761e-05 2.908643 3.943681
x -0.6734741 0.1351184 -4.9843254 4.300590e-03 -1.022076 -0.324872
z 0.5850340 0.9436175 0.6199907 5.566933e-01 -1.689652 2.859720
DF
(Intercept) 4.970885
x 4.940162
z 6.396615https://stackoverflow.com/questions/54831903
复制相似问题