Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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
knitr和简单执行模式下的set.seed()_R_Random Seed - Fatal编程技术网

knitr和简单执行模式下的set.seed()

knitr和简单执行模式下的set.seed(),r,random-seed,R,Random Seed,在编织机和简单(逐行)执行模式中,R对random.seed()+sample()命令的处理似乎不一致。例如,当我逐行运行下面的R代码时(通过点击Control Enter),我得到一组x的采样元素。然而,当我编织整个文档时,我会得到一组不同的采样元素,尽管种子被设置为相同的数目 我对stackoverflow和其他地方做了一些研究,我发现唯一与我的问题相关的是易慧网站下一页的最后一段。在执行Yi Hui的建议后,问题仍然存在(取消注释下面RMarkdown中的第二个knitr::opts_ch

在编织机和简单(逐行)执行模式中,R对
random.seed()
+
sample()
命令的处理似乎不一致。例如,当我逐行运行下面的R代码时(通过点击Control Enter),我得到一组
x
的采样元素。然而,当我编织整个文档时,我会得到一组不同的采样元素,尽管种子被设置为相同的数目

我对stackoverflow和其他地方做了一些研究,我发现唯一与我的问题相关的是易慧网站下一页的最后一段。在执行Yi Hui的建议后,问题仍然存在(取消注释下面RMarkdown中的第二个
knitr::opts_chunk
命令)

我的问题是,无论执行模式如何,如何获得相同的采样元素

    ---
    title: "set.seed() in knitter mode"
    author: "some author"
    date: "1/27/2020"
    output: html_document
    ---

    ```{r setup, include=FALSE}
    library(knitr)
    knitr::opts_chunk$set(echo = TRUE)
    #knitr::opts_chunk$set(cache.extra = rand_seed) # Yi Hui's suggestion
    ```

    ## set.seed() in knitter mode.

    ```{r}
    x=1:10
    set.seed(234252)
    sample(x,4)
    # When running the above code manually, I get 
    # [1] 2 4 6 10
    # When knitting the whole document, I get
    # [1] 3 2 6 5
    # How to get the same sampled elements of x regardless of the execution mode? 
    ```



在我的控制台上,我得到了
3 2 6 5
。R版本3.6.1(2019-07-05)平台:x86_64-apple-darwin15.6.0(64位),运行于:macOS High Sierra 10.13.6谢谢Brian的评论。您的意思是,无论执行模式如何,您都会得到相同的
x
采样元素吗?是的,对于编写的代码,我在控制台和编织时都会得到相同的结果
knitr 1.26
。请使用
sessionInfo()
的输出更新您的问题。在我的控制台上,我得到
3 2 6 5
。R版本3.6.1(2019-07-05)平台:x86_64-apple-darwin15.6.0(64位),运行于:macOS High Sierra 10.13.6谢谢Brian的评论。您的意思是,无论执行模式如何,您都会得到相同的
x
采样元素吗?是的,对于编写的代码,我在控制台和编织时都会得到相同的结果
knitr 1.26
。请使用
sessionInfo()
的输出更新您的问题。
R version 3.6.2 (2019-12-12). 
Platform: x86_64-apple-darwin15.6.0 (64-bit), 
Running under: macOS Catalina 10.15.2. 
Locale: en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 
Attached base packages: stats graphics grDevices utils datasets methods base 
Other attached packages: knitr_1.26
Loaded via a namespace (and not attached): compiler_3.6.2 magrittr_1.5    tools_3.6.2     htmltools_0.4.0 yaml_2.2.0      Rcpp_1.0.3      stringi_1.4.3   rmarkdown_2.0  stringr_1.4.0   xfun_0.11       digest_0.6.23   rlang_0.4.2   evaluate_0.14