gpt4 book ai didi

knitr 中的 R stitch 被看起来像 block 标签的注释弄糊涂了

转载 作者:行者123 更新时间:2023-12-01 09:59:27 24 4
gpt4 key购买 nike

我正在使用 R 中 knitr 包中的 stitch 函数创建 R 代码的 html 文件,供我的学生使用。

I have several hundred R scripts and am automating the process to create the html pages.

但是,如果我的 R 脚本包含注释行,例如

##------ Example ------

然后拼接函数认为这是代码块的标签,并且经常丢弃我脚本的其他部分。

有没有办法在 stitch() 函数中关闭 chunking原样传递所有代码?我查看了 stitch()read_chunk() 的内部代码,但似乎看不出它是如何知道何时 ## ---- - 示例 ----- 是 block 标签。

这是最小的工作示例:R 3.0.1;编织器 1.4.1

# Test out problem with stitch in knitr

my.code <- "# This a sample of R code
x <- 1:10
print(x)
plot(x,x)

## ---------------- Example -----
# Notice that only this part of the code appears in the html file.
x <- 10:30
print(x)
plot(x,x)

NULL
"

writeLines(my.code, con='R.code')

library(knitr)
stitch("R.code", system.file("misc", "knitr-template.Rhtml", package = "knitr"))

最佳答案

这是一个新功能 introduced在 knitr 1.3 中:# ---- 在使用 read_chunk() 时将被视为 block header 的标记。

如果您不想使用此功能,可以在 # 后使用少于 4 个破折号,例如

## --- Example ----
## -- Example ----
## Example ----

我假设您对 RStudio 代码部分有这样的评论,这要求在部分标题末尾至少有四个破折号。

那你需要开发版knitr v1.4.6 on Github彻底解决这个问题。

关于knitr 中的 R stitch 被看起来像 block 标签的注释弄糊涂了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com