如何捕获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

以下玩具示例返回到object
a
线性回归的系数:

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