我需要将“nls”对象转换为LaTex表示形式。不幸的是,stargazer不支持此对象类型。
在网上进行一些研究后,我发现nls2库中的as.lm.nls函数可以将nls对象转换为相应的lm对象。但在我的情况下它失败了。以下是示例输出:
> DNase1 <- subset(DNase, Run == 1)
> xx <- nls(density ~ SSlogis(log(conc), Asym, xmid, scal), DNase1)
> summary(xx)
Formula: density ~ SSlogis(log(conc), Asym, xmid, scal)
Parameters:
Estimate Std. Error t value Pr(>|t|)
Asym 2.34518 0.07815 30.01 2.17e-13 ***
xmid 1.48309 0.08135 18.23 1.22e-10 ***
scal 1.04146 0.03227 32.27 8.51e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.01919 on 13 degrees of freedom
Number of iterations to convergence: 0
Achieved convergence tolerance: 3.281e-06
而且如下所示的 as.lm.nls 输出与上面的实际输出不符:
> library(nls2)
Loading required package: proto
> xlm = as.lm.nls(xx)
> summary(xlm)
Call:
lm(formula = density ~ Asym + xmid + scal - 1, offset = fitted(xx))
Residuals:
Min 1Q Median 3Q Max
-0.033513 -0.012931 -0.001454 0.009699 0.038137
Coefficients:
Estimate Std. Error t value Pr(>|t|)
Asym -8.878e-07 7.815e-02 0 1
xmid -9.328e-07 8.135e-02 0 1
scal -3.751e-07 3.227e-02 0 1
Residual standard error: 0.01919 on 13 degrees of freedom
Multiple R-squared: 0.9996, Adjusted R-squared: 0.9995
F-statistic: 1.153e+04 on 3 and 13 DF, p-value: < 2.2e-16
由于nls摘要输出与lm摘要输出非常相似,我认为将nls对象的内容等价于lm对象应该是适合stargazer工作的。
我有很多nls模型需要纳入报告中,但as.lm.nls的失败让我束手无策。我需要关于nls对象的latex输出的绝望帮助。
请指教我如何继续进行。
问候
K