sink()不会在rmarkdown中将输出打印到文本文件

MathIsKey

假设我有一个简单的rmarkdown文档,名为test.Rmd

---
output: pdf_document
---

This code tries to save output to a file called 'example.txt'
```{r}
sink(file='example.txt')
sink.number()
library(MASS)
summary(cars)
sink()
sink.number()
```

如果我在RStudio中运行它(使用编织的PDF按钮),则会得到很多输出,但是我相信最重要的是以下内容(我可以根据要求包括其他输出)

processing file: test.Rmd

"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS test.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output test.pdf --template "C:\Users\wammonj\Documents\R\win-library\3.2\rmarkdown\rmd\latex\default.tex" --highlight-style tango --latex-engine pdflatex --variable graphics=yes --variable "geometry:margin=1in" 
output file: test.knit.md


Output created: test.pdf
Warning message:
In sink() : no sink to remove

生成了文件example.txt,但是输出不在其中,而Rmarkdown生成了一个名为test.pdf的文件,其中的输出summary(cars)在其中。

那是问题吗?Rmarkdown是否使用sink()制作其文档?有没有办法解决这个问题,所以输出将同时出现在pdf文件和文本文件中?


另外:从@ r2evans注释看来,rmarkdown确实确实使用了sink()。我玩了一下sink(),似乎可以同时进行多个转移,但是只能写入最近激活的转移(请参见下面的示例)。

因此从输出看来,Rmarkdown立即关闭了我的接收器,因为当我查看一下sink.number()时,它总是一个。

我仍在尝试为此找到一种解决方法,因此任何帮助都将是不错的。

多次转移的示例:

sink(file = 'example1.txt')
sink(file = 'example2.txt')
sink.number() # prints 2 to example2.txt
x = seq(1,10)
x # prints to example2.txt
sink()
sink.number() # prints 1 to example1.txt
y = sum(x)
y # prints to example1.txt
sink()
sink.number() # prints 0 to R console
杰姆

我遇到了类似的问题。将输出保存到本地文件的一种解决方案是改用write.csv()function,它也适用于非csv文件。

下面的R代码尝试将输出保存到名为“ example.txt”的文件中。

write.csv(data.frame(data_to_save), file='example.txt')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将输出打印到单独的文本文件

sed命令不会在文本文件中插入文本

将作为文件名列表的输出打印到文本文件

Android不会在文本文件中写换行

读取文本文件时,ArrayList不会在for循环中填充

如何在 Java 中将二维数组正确打印到文本文件?

在javascript中将脉冲序列的零点显式打印到文本文件

仅输出的第一行打印到我的文本文件

R中的消息功能未写入文本文件/未将消息打印到标准输出

使用Python将输出打印到文本文件(.txt)

如何将Google Test输出打印到文本文件?

如何将for循环输出打印到文本文件中?

如何将 dig 命令的输出打印到文本文件

将控制台输出打印到文本文件

将文本打印到文本文件中的程序

将OLS回归摘要打印到文本文件

以表格形式将结果打印到文本文件

Java:将文本文件的内容打印到屏幕

将字符串打印到文本文件

将VBA词典打印到文本文件中

将文本文件内容打印到列中

从字典键和值打印到文本文件

python 比较两个文本文件,然后将输出打印到另一个文件

#!/bin/bash -x 或 -v 不会在 Ubuntu 20.04 上打印到标准输出

如何使用c库函数在Linux汇编语言中将文本文件的内容打印到STDOUT?

PrintWriter对象不会将文本文档中的所有行都打印到输出文件中

从终端将目录中的文件列表打印到文本文件(而不是文本文件本身)

如何遍历一个文本文件以打印到另一个文本文件?

从文本文件打印输出C ++