RMarkdown: Statamarkdown производит нежелательный результат, когда collectcode = TRUE - PullRequest
0 голосов
/ 06 августа 2020

Я использую Statamarkdown для создания HTML документов с использованием RMarkdown и Stata.

Как описано здесь , выполняется каждый фрагмент кода как отдельный сеанс Stata. collectcode=TRUE - это вариант фрагмента для сбора кода Stata по фрагментам.

Хотя это работает аккуратно, выходные данные второго (и любых последующих) фрагментов, следующих за первым с collectcode=TRUE, содержат нежелательное эхо вверху :

Выполняется ....... \ profile.do

Например, при запуске второго фрагмента с {stata stata2, echo = T,collectcode=TRUE}

   reg mpg price i.foreign ,  noheader  

дает следующий результат:

reg mpg price i.foreign ,  noheader  
Running C:\Cloud\Methods\prog\profile.do . reg mpg price i.foreign ,  noheader  
------------------------------------------------------------------------------
         mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       price |   -.000959   .0001815    -5.28   0.000     -.001321    -.000597
             |
     foreign |
    Foreign  |   5.245271   1.163592     4.51   0.000     2.925135    7.565407
       _cons |   25.65058   1.271581    20.17   0.000     23.11512    28.18605
------------------------------------------------------------------------------

Вот мой репекс RMarkdown:

---
title: "Statamarkdown output problem"
output: html_document
---

```{r setup, include = F}
library(Statamarkdown)
```


First chunk is clean:

```{stata stata1,collectcode=TRUE}
sysuse auto
su mpg price
```

Second Stata Output contains undesired `Running .......\profile.do` output:

```{stata stata2, echo = T,collectcode=TRUE}
reg mpg price i.foreign ,  noheader  
```

Problem persists even in chunks with `collectcode=FALSE`:

```{stata new_data, echo = T,collectcode=F}
webuse bpwide, clear
su sex agegrp
```

`cleanlog = F` does not do the trick:
```{stata new_data2, echo = T,collectcode=F, cleanlog = FALSE}
webuse bpwide, clear
su sex agegrp
```

Избегать collectcode=T все вместе, т.е. загрузка и подготовка данных для каждого фрагмента, конечно же, была бы обходным путем. , но очень утомительно.

Я использую R 3.6.3 и Stata 16.1 на машине Windows.

Мы очень ценим любые идеи!

1 Ответ

1 голос
/ 18 августа 2020

Оказывается, Stata изменилась с

running .......\profile.do

на

Running .......\profile.do

Новая версия пакета Statamarkdown (0.5.0) теперь учитывает это.

...