问题标签 [rnw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
499 浏览

latex - knitr: fig.height 在新版本中必须是数字?

我下载了新版本的 knitr 包,但在尝试在 Rnw 文件中包含绘图时突然出现以下错误:

经过大量实验后,我发现问题出在命令 fig.height 上,显然它应该是数字。此代码产生错误:

此代码不会:

不幸的是,我不知道这个 6 的测量单位是什么。

这段代码:

产生不同的错误:

总而言之,似乎 knitr 真的期待 fig.height 的数值,这有点烦人,因为我已经fig.height='\\textheight'在整个文档中输入了很多命令(回到那些仍然有效的日子),我也没有真的知道Latex对应的数值\textheight是什么。

有什么建议吗?

更新:我做了一些更多的实验,结果发现你提供给 fig.height 的数字没有出现在 Latex 文件中,而是直接影响由 knitr 生成的 cat.pdf 图像的尺寸。这种暗示fig.height完全省略可能是最好的策略。但这并没有告诉我们如何[height=\textheight]在 tex 文档中获取 。

0 投票
2 回答
1794 浏览

r - 如何为 R 包“预构建”小插图索引?

我正在准备一个要提交给CRAN的包。我使用R CMD build myPackagethen R CMD check myPackage --as-cran,它通过了所有检查,没有任何注释或警告。但是,每次我尝试提交时,我都会从 CRAN 维护人员那里收到以下错误消息:

包有一个 VignetteBuilder 字段,但没有预建的小插图索引。

首先,我希望能够在我自己的系统(R version 3.0.1)上重现上述错误消息。

小插图.Rnw文件如下所示:

我尝试INDEX在根目录中添加一个文件,其中包含这样的小插图条目:

同样,这通过了,R CMD check myPackage --as-cran但我收到了相同的错误消息。

我也试图R CMD build myPackage --md5强制创建MD5文件,但无济于事。

当我查看时,myPackage.Rcheck/00_pkg_src/myPackage/inst/doc我发现了小插图文件,.Rnw并且.pdf符合预期。

DESCRIPTION文件具有以下条目:

当我查看时,myPackage.Rcheck/myPackage/Meta我看到一个条目vignette.rds。然而,这似乎是一个二进制文件,所以我无法理解它。

这是来自“编写 R 扩展”:

在安装时,包中所有小插曲的 HTML 索引会自动从 \VignetteIndexEntry 语句创建,除非目录“inst/doc”中存在文件“index.html”。该索引链接自该包的 HTML 帮助索引。如果您确实提供了“inst/doc/index.html”文件,它应该只包含指向已安装“doc”目录下文件的相对链接,或者可能(不是真正的索引)指向 HTML 帮助文件或“DESCRIPTION”文件的相对链接.

那么我是否需要手动创建index.html,任何人都可以指出一个应该是什么样子的例子吗?

这个问题似乎密切相关,但我(故意)没有.Rbuildignore文件。这也是相关的,尽管我不devtools用于创建包。我也看过这个问题,但没有看到一个简单的答案。

7 月 1 日更新

对于可重现的示例,该包可在 github 上找到。下载和安装(例如 withdevtools::install_github()应该允许重现此错误。

0 投票
1 回答
197 浏览

knitr - 当 knitr 被停用时,如何从包含 knitr 块的 lyx 文件生成 pdf?

我希望共同作者编辑我创建的 lyx 文件。他没有安装 knitr,他将只编辑文档中不存在 knitr 生成的内容的文本和方程式部分。不过,我仍然希望他能够从 lyx 生成 pdf 文件。在 Documents / settings / modules 下,我可以删除 Rnw (knitr) 模块。但随后出现错误。

我在knitr_iris.lyx下发布了一个示例 lyx 文件。当 knitr 模块被激活时,Pdf 生成工作正常,但是当您在 Documents/settings/modules 下取消选择 knitr 模块时,会弹出以下错误:

这是由于在 R 中使用了 $ 和 #。如何告诉 Lyx knitr 块不是乳胶代码,而是它应该忽略的其他东西?

0 投票
3 回答
971 浏览

r - 检测闪亮是否运行 R 代码

我想在两个位置运行 R 代码,在 Rnw 文件中和作为交互式闪亮 R 降价文档。

因此,由于交互式闪亮组件在 Rnw 文件中不起作用,我需要的是 R 中的一个代码片段,用于检测是否加载交互式代码。

似乎可行,但感觉就像一个快速破解:

是否有一个稳定的解决方案或类似全局变量的东西,我可以访问它来说明闪亮是否正在运行?或者我应该检查shiny包是否已加载?

什么最安全?

0 投票
0 回答
401 浏览

r - 将图形直接放入 Knitr 文档(不将其文件保存在文件夹中)第 2 部分

我正在扩展我最近在这里发布的一个问题(将图直接放入 Knitr 文档中(不将其文件保存在文件夹中))。

我正在编写一个 R 包,它为输出数据摘要的用户生成一个 .pdf 文件。我在包中有一个 .Rnw 脚本(在这里,我的 MWE 称为 test.Rnw)。用户可以:

.Rnw 文件生成许多图像。最初,这些都保存在当前目录中。这些图像被保存到目录中(或者可能是在 .tex 文件上调用 pdflatex 时创建的 .aux 或 .log 文件)看起来并不整洁(因为用户必须记住删除这些图像文件) . 其次,我还担心当脚本多次运行时,这种不整洁可能会导致问题。

因此,在我之前的帖子中,我们通过将图像保存到临时文件夹来改进 .Rnw 文件。有人告诉我,每次打开新的 R 会话时,临时文件夹中的文件都会被删除。但是,我仍然担心某些事情:

1)我觉得我可能需要插入一行,比如第 19 行:

每次运行 .Rnw 文件时自动删除临时文件夹中的文件(这样图像不仅会在每次 R 重新启动时被删除)。这将使当前目录中的图像保持干净,并且用户不必记住手动删除图像。但是,我不知道这个“解决方案”是否会通过 CRAN 标准来删除临时文件夹中的文件。原因是它会删除用户系统中的文件,如果其他程序正在将文件写入临时文件夹,这可能会导致问题。我觉得我已经阅读了关于 CRAN 不允许出于明显原因从用户计算机中写入/删除文件的信息。CRAN 对这种做法有多严格?有安全的方法吗?

2)如果在临时文件中写入和删除图像文件不起作用,还有什么方法可以达到相同的效果(运行脚本而不在文件夹中创建繁琐的图像文件)?是否可以将图像直接嵌入到输出文件中(不需要保存到任何目录)?我很确定这是不可能的。但是,有人告诉我可以使用 .Rmd 来执行此操作,并且可以将我的 .Rnw 转换为 .Rmd。这可能很困难,因为 .Rnw 文件必须遵循某些格式(文本和边距)才能正确输出,而且它很长。是否可以仅对生成图像的块使用 .Rmd 功能(将图像直接插入输出),而无需重写整个 .Rnw 文件?

下面是我的 MWE:

0 投票
1 回答
44 浏览

r - servr包可以实时查看对Rnw文件的编辑吗?

据我了解,servr包允许对 Rmd 文件的编辑以 HTML 格式实时查看。

但是 servr 是否允许对 Rnw 文件的编辑以 PDF 格式实时查看?

0 投票
0 回答
270 浏览

r - Lyx 中 Knitr 中的编译错误

在过去的几个月里,我一直在 Windows 中使用带有 Lyx (2.1.4) 的 knitr 。最近我转移到了 Ubuntu,为 Lyx 提供了相同的版本。我在使用 Knitr 模块时在编译过程中遇到错误。

1)错误消息的副本(来自消息窗格):

2)转换器定义:

3)我的代码块是

请注意 .Rnw 文件是在 tmp 文件夹 (lyx_tmpbuf0 ) 中创建的,并且可以被 R studio 成功编译。我也可以使用 lyx 中的 sweave 模块成功编译 pdf。

更新 1: 根据 scottkosty 的建议,我检查了 R 和 RStudio 中的系统环境并发现了一些差异(尽管我不知道它们)。

这是R 的输出

这是RStudio 的输出

0 投票
1 回答
405 浏览

r - global.par = TRUE 不适用于 knitr for bg in RSweave doc

我需要更改我的 R Sweave 文档生成的所有 tiff 图像的背景,并且遇到了与此处描述的相同的问题:

尊重 knitr 中的全局选项

但是使用 par(bg = ),据推测它正在根据评论工作。

MWE:

(我不允许发表评论,否则我会留在那个帖子上。)

我还尝试使用挂钩,基于此处的示例: https ://github.com/yihui/knitr/blob/master/inst/examples/knitr-graphics.Rnw

但这也没有用。

唯一可行的是在每个块中设置参数,例如:

(我实际上想要白色背景,但用颜色测试更容易。不是我选择使用 TIFF 顺便说一句。)

关于发生了什么的任何想法?

0 投票
1 回答
256 浏览

r - 使用 knitr,在将块合并到单独的文件时保留块选项

出于教学目的,我想将purl我的.Rnw文件块分成单独的文件。这个答案解释了如何做到这一点:

如何使用 Knitr 将 .Rmd 文件中的每个块压缩到多个 .R 文件

但是该方法不保留块选项。由于我已经生成了图块,因此保留fig.widthandfig.height选项很重要。理想情况下,我想要一个看起来像这样的块:

成为一个plot.R如下所示的文件:

也就是将块选项和fig.width转换成一种fig.height可以被. 所有这些都本着创建用户友好的代码文件的精神。spin()purl()spin()out.width

0 投票
0 回答
221 浏览

r - 删除图像前后的空白

echo = false用 knitr 设置在 .Rnw 文件中。输出是一个图形,周围有很多空白。如何减少空白以使图形离正文不太远?