Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用(LyX&x2B;knitr+;R)关闭缓存_R_Knitr_Lyx - Fatal编程技术网

使用(LyX&x2B;knitr+;R)关闭缓存

使用(LyX&x2B;knitr+;R)关闭缓存,r,knitr,lyx,R,Knitr,Lyx,当我通过knitr向R提交以下类型的函数调用时,有人能帮助我了解如何关闭LyX/knitr中的缓存吗 \Sexpr{rnorm(1, 6, 1.1)} 或者一块一块: <<echo=FALSE, cache=FALSE>>= rnorm(1, 6, 1.1) @ = rnorm(1,6,1.1) @ 每次处理文档时,我只得到与第一次完全相同的值。我知道这一定很简单,但我快发疯了。谢谢, -加里问题解决了。在我的.Rprofile中有一个set.seed()调用。当我

当我通过knitr向R提交以下类型的函数调用时,有人能帮助我了解如何关闭LyX/knitr中的缓存吗

\Sexpr{rnorm(1, 6, 1.1)}
或者一块一块:

<<echo=FALSE, cache=FALSE>>=
rnorm(1, 6, 1.1)
@
=
rnorm(1,6,1.1)
@
每次处理文档时,我只得到与第一次完全相同的值。我知道这一定很简单,但我快发疯了。谢谢,
-加里

问题解决了。在我的.Rprofile中有一个set.seed()调用。当我移除它时,这个问题在LyX中消失了。它抛出了我,因为在R会话中,set.seed()只确定对rnorm()的第一次调用,而不是对rnorm()的后续调用,而每次创建文档时都会从LyX创建一个新会话。因为我的示例只有一个调用,所以我总是得到相同的值。感谢大家,特别是易慧制作了knitr。

您是否在文档中的任何地方使用set.seed?谢谢您的提问-不,我没有。这个文档只是一个测试,所以除了这个简单的命令之外,实际上没有其他内容-GDo如果您只是编译所有内容而不使用Lyx,您是否也会遇到同样的问题?我不能用RStudio重现这个问题,这很有趣。我可以在RStudio中通过创建一个新的swave文档来重新创建它,该文档通过knitr处理,当然,控制台中的rnorm()函数每次都会按预期返回一个唯一的值。如果我将其中一个参数更改为该函数,它将在第一次提供一个新的数字,并在以后每次创建文档时提供相同的数字。所以这是一个knitr问题,而不是LyX问题-这是有用的信息。我不能用LyX 2.0.4+knitr 0.7复制它。实际上,后续调用也由该种子决定;您可以运行
set.seed(123);rnorm(1);rnorm(1)
两次,看看会发生什么