在R中捕获Stata样式的日志(注解、命令和输出)

ff29svar  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(133)

我希望使用R捕获一个日志,其中显示注解、命令和脚本的输出。
txtStart()TeachingDemos比较接近,但省略了注解。

library(TeachingDemos)
txtStart("log.txt")

# Step 1: Some math:
1+2

txtStop()

生成以下log.txt

> 1 + 2
[1] 3

但最理想的是

# Step 1: Some math:
> 1 + 2
[1] 3

我也试过sink(),但是它只给出输出,所以在上面的例子中log.txt应该是:

[1] 3

更新

@rawr的评论帮助很大,如果myscript.r

# Step 1: Some math:
1+2

然后,这将获得注解、命令和输出:

sink("mylog.txt")
source('myscript.r', echo = TRUE)
sink()

mylog.txt运行后,结果为:

> # Step 1: Some math:
> 1+2
[1] 3

我把这个问题留着,因为我仍然希望有一种方法可以在一个脚本中做到这一点,Stata风格。

vm0i2vca

vm0i2vca1#

下面是一个R Markdown文件示例,它对markdown语法的要求不高,但可能比您想要的要高:有一个头,代码块被封装在````{r}`和`````之间。

---
title: "my_great_file"
output: html_document
---

Step 1: Some math:

```{r}
1+2

生成如下的html文件:(或PDF、Word文档或PowerPoint等)

![](https://i.stack.imgur.com/c69yC.png)

相关问题