如何捕获Rstata包输出,以便在R中进行后续处理
我运行以下代码:如何捕获Rstata包输出,以便在R中进行后续处理,r,stata,R,Stata,我运行以下代码: library(RStata) stata("glm dist speed", stata.version = 15, data.in = cars) 输出: . glm dist speed Iteration 0: log likelihood = -206.57843 Generalized linear models No. of obs = 50 Optimization
library(RStata)
stata("glm dist speed", stata.version = 15, data.in = cars)
输出:
. glm dist speed
Iteration 0: log likelihood = -206.57843
Generalized linear models No. of obs = 50
Optimization : ML Residual df = 48
Scale parameter = 236.5317
Deviance = 11353.52105 (1/df) Deviance = 236.5317
Pearson = 11353.52105 (1/df) Pearson = 236.5317
Variance function: V(u) = 1 [Gaussian]
Link function : g(u) = u [Identity]
AIC = 8.343137
Log likelihood = -206.5784315 BIC = 11165.74
------------------------------------------------------------------------------
| OIM
dist | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
speed | 3.932409 .4155128 9.46 0.000 3.118019 4.746799
_cons | -17.57909 6.75844 -2.60 0.009 -30.82539 -4.332796
------------------------------------------------------------------------------
但是,下面的命令不会捕获输出:
a <- stata("glm dist speed", stata.version = 15, data.in = cars)
a使用RStata的唯一方法是提取结果并将其作为变量保存在修改后的数据集中,然后将其发送回R
以下玩具示例返回到objecta
线性回归的系数:
stata_cmd <- "
sysuse auto
regress mpg weight
matrix k = e(b)
svmat k
keep k*
save myauto
"
stata(stata_cmd)
. sysuse auto
(1978 Automobile Data)
. regress mpg weight
Source | SS df MS Number of obs = 74
-------------+---------------------------------- F(1, 72) = 134.62
Model | 1591.9902 1 1591.9902 Prob > F = 0.0000
Residual | 851.469256 72 11.8259619 R-squared = 0.6515
-------------+---------------------------------- Adj R-squared = 0.6467
Total | 2443.45946 73 33.4720474 Root MSE = 3.4389
------------------------------------------------------------------------------
mpg | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
weight | -.0060087 .0005179 -11.60 0.000 -.0070411 -.0049763
_cons | 39.44028 1.614003 24.44 0.000 36.22283 42.65774
------------------------------------------------------------------------------
. matrix k = e(b)
. svmat k
. keep k*
. save myauto
file myauto.dta saved
stata_cmd F=0.0000
残差| 851.469256 72 11.8259619 R平方=0.6515
-------------+----------------------------------调整R平方=0.6467
总计| 2443.45946 73 33.4720474根MSE=3.4389
------------------------------------------------------------------------------
mpg | Coef。标准错误。t P>| t |[95%配置间隔]
-------------+----------------------------------------------------------------
重量|-.0060087.0005179-11.60 0.000-.0070411-.0049763
_cons | 39.44028 1.614003 24.44 0.000 36.22283 42.65774
------------------------------------------------------------------------------
. 矩阵k=e(b)
. 斯维马特k
. 保持k*
. 保存我的汽车
文件myauto.dta已保存
a头(a)
k1-k2
1 -0.006008687 39.44028
2娜娜
3娜娜
4娜娜
5纳纳
6娜娜
a <- stata("sysuse myauto, clear", data.out = TRUE)
> head(a)
k1 k2
1 -0.006008687 39.44028
2 NA NA
3 NA NA
4 NA NA
5 NA NA
6 NA NA