RMarkdown:当collectcode=TRUE时,StatMarkdown会产生不需要的输出

RMarkdown:当collectcode=TRUE时,StatMarkdown会产生不需要的输出,r,markdown,stata,R,Markdown,Stata,我使用RMarkdown和Stata生成HTML文档 如文档所述,每个代码块作为单独的Stata会话执行collectcode=TRUE是一个区块选项,用于跨区块收集Stata代码 虽然这可以很好地工作,但是第一个块后面带有collectcode=TRUE的第二个(以及任何其他)块的输出在顶部包含一个不希望出现的回声: 正在运行……\profile.do 例如,当使用{stata stata2,echo=T,collectcode=TRUE} reg mpg price i.foreign

我使用
RMarkdown
和Stata生成HTML文档

如文档所述,每个代码块作为单独的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 repex:

---
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
,即加载和准备每个数据块的数据当然是一个解决办法,但非常繁琐

我在Windows机器上使用R3.6.3和Stata16.1


任何想法都非常感谢

原来Stata是从

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


现在,新版本的Statamarkdown软件包(0.5.0)可以解决这个问题。

谢谢!不幸的是,删除
echo
不会更改有问题的输出,从而避免
collectcode
按原样破坏代码。我必须在同一块中执行
sysuse auto
reg mpg price I.foreign,noheader
。这个例子不成问题。但是,通常在运行模型之前需要做一些准备等。这就是为什么在所有块中都包括
echo
collectcode
的原因。您的代码在我的机器上没有问题。非常感谢!我应该在我的问题中添加更多信息:我使用的是Windows10、R3.6.3和Stata16.1-您的设置有什么不同吗?我使用的是Windows10、R4.02和STATA14。Statamarkdown 0.4.5。我尝试过各种组合,但无法重现您的问题。不过我可能错过了什么。如果你还有问题,我明天会看一看。非常感谢!Stata16似乎有问题-切换到Stata13解决了有问题的输出,但在输出表中创建了换行符。现在,我可以使用
设置线宽200
来解决这个问题。谢谢
Running .......\profile.do