R 针织钩$树立榜样?令人难以置信的困惑功能

R 针织钩$树立榜样?令人难以置信的困惑功能,r,knitr,R,Knitr,我现在已经尝试查看了很多地方,但我不知道knit_hook$set函数的确切功能是什么。我阅读了R文档,但它对我来说没有多大意义 我试图理解别人的R代码,开头有一行是这样的 library(knitr) knit_hooks$set(inline = function(x) { x = as.character(x) } 我搜索了代码,找不到任何其他内联引用,也找不到knit_hook$get的版本。R文档说它接受参数并返回一个输出,在我看来,这和一般的R函数完全一样。我在网上搜索过,它看起来

我现在已经尝试查看了很多地方,但我不知道knit_hook$set函数的确切功能是什么。我阅读了R文档,但它对我来说没有多大意义

我试图理解别人的R代码,开头有一行是这样的

library(knitr)
knit_hooks$set(inline = function(x) { x = as.character(x) }
我搜索了代码,找不到任何其他内联引用,也找不到knit_hook$get的版本。R文档说它接受参数并返回一个输出,在我看来,这和一般的R函数完全一样。我在网上搜索过,它看起来像是某种功能,可以自动运行在Swave文档中的R代码块中

我已经查看了我正在分析的脚本中的其他R代码块,没有看到任何写有“inline=True”的内容,这是我在阅读本文后希望看到的:

我真的很难理解这是怎么回事。有人能用一个更简单的例子来解释knit_hook$set的功能和用途吗

编辑:这是我阅读的文档中的直接文本

%small.mar不必为真,它可以是任何非空值

<<myplot, small.mar=TRUE>>=
hist(rnorm(100), main = '')  # no main title
@
=
历史(rnorm(100),主要=“”)#无主要标题
@
这是我在上面链接的文档中的一行。我的代码中没有任何内容显示
=

如果没有,那么这个knit_hook$套装是超级棒的,安全吗


同样在上面的示例中,在哪里调用small.mar函数?我没有看到它在任何地方被使用,它是否会自动应用于示例中的hist函数

@r2evans我做到了。我想也许我可以改进我的问题。让我来解释一下钩子不应该是逻辑的,钩子通常是一个函数。它说,输出挂钩“用于定制和抛光块的原始输出”;具体来说,
inline
处理“inline R代码的输出”。对我来说,我不知道为什么这一个函数是必要的。对于傻笑,你是否尝试过删除它并将输出与以前版本的报告进行比较?@r2evans是的,我尝试过,但不幸的是,它因为其他更改而崩溃,我将用更旧更稳定的版本再试一次。我只是觉得在这里问一下是值得的,因为即使我读了Rdocumentation页面和你链接的示例,我仍然无法理解,基本上只是希望得到一个非常简单的示例。在您链接的链接中的示例中,我实际上没有看到函数被显式调用(small.mar和rgl示例),因此我对它的工作原理感到困惑。如果这有任何意义,您将看不到函数被显式调用,它是在渲染文档期间由
knitr
在幕后调用的。“钩子”是一种在渲染过程中为您的作品赋予
knitr
特定“事物”的功能的方法。尽管有些答案似乎令人困惑,但看看可能会有所帮助。(也可以)一般来说,这是一种以简单选项无法控制的方式控制某些渲染的方法。。。因此,您可以编写一个函数,以编程/动态方式进行更改。