如何让观星者在分配时不运行
Posted
技术标签:
【中文标题】如何让观星者在分配时不运行【英文标题】:How to make stargazer not to run while assigning 【发布时间】:2021-03-22 20:56:08 【问题描述】:我们来获取数据:
library(plm)
library(stargazer)
# Create some random data
set.seed(1)
x=rnorm(100); fe=rep(rnorm(10),each=10); id=rep(1:10,each=10); ti=rep(1:10,10); e=rnorm(100)
y=x+fe+e
data=data.frame(y,x,id,ti)
# Get plm within R2
summary.plm.full(plm(y~x,model="within",index=c("id","ti"), effect = "twoways", data=data))
data=data.frame(y,x,id,ti)
# Get plm within R2
reg=plm(y~x,model="pooling",index=c("id","ti"), effect = "individual", data=data)
k <- stargazer(reg, type = "text",
add.lines = list(c("Overall R2", round(r.squared(reg, model = "within"), 3)),
c("Between R2", round(r.squared(update(reg, effect = "individual", model = "between")), 3))))
输出:
========================================
Dependent variable:
---------------------------
y
----------------------------------------
x 1.183***
(0.168)
Constant 0.308**
(0.151)
----------------------------------------
Overall R2 0.53
Between R2 0.174
Observations 100
R2 0.337
Adjusted R2 0.330
F Statistic 49.751*** (df = 1; 98)
========================================
Note: *p<0.1; **p<0.05; ***p<0.01
但是当我没有运行任何东西时,为什么我有一个 stargazer 的输出。我什至在分配时,stargazer 似乎会给出输出。我应该怎么做才能让stargazer在分配时不运行?
【问题讨论】:
【参考方案1】:查看.stargazer.wrap()
(被stargazer()
调用)的源代码,这是因为cat()
被广泛使用并且总是打印到控制台,即使分配了。
例子:
x <- cat("hello")
结果:
hello
因此,您在不打印的情况下分配stargazer()
的输出的唯一方法是要求包维护人员修改函数,但我怀疑他/她会这样做,因为cat()
在整个函数中都非常常用(并且该软件包在过去两年半内没有修改过)。
您可以查看texreg
作为stargazer
的替代品。
【讨论】:
以上是关于如何让观星者在分配时不运行的主要内容,如果未能解决你的问题,请参考以下文章