设置种子后,示例函数在控制台和编织文档中给出不同的结果

时间:2019-05-23 04:18:59

标签: r rstudio r-markdown

我正在Rmarkdown文件中创建文档,并编织成HTML以便提交文件。使用样本函数生成种子样本在控制台和编织文件中提供不同的结果。

我正在使用R Studio版本1.0.153和R 3.6.0

编辑:我已经将R Studio更新到版本1.2.1335,并且仍然存在此问题

set.seed(1)
rnorm(1)
sample(1:10, 1)

在控制台和编织文件中,rnorm(1)的值是相同的,但是,在控制台中,我看到我在控制台中采样了6个,在编织文档中采样了7个

1 个答案:

答案 0 :(得分:0)

R 3.6.0 changed the sampling method。使用新方法(using (MagickImage image = new MagickImage(ssimageBinary)) { image.Density = new Density(sstargetDensity); MagickGeometry size = new MagickGeometry(sstargetWidth, sstargetHeight); // This will resize the image to a fixed size without maintaining the aspect ratio. // Normally an image will be resized to fit inside the specified size. size.IgnoreAspectRatio = ssKeepAspectRatio; image.Resize(size); MemoryStream mStream = new MemoryStream(); // Save the result image.Write(mStream, MagickFormat.Png); ssnewImage = mStream.ToArray(); } default),我得到7。使用旧方法,我得到6:

Rejection

reprex package(v0.2.1)于2019-05-23创建

所以看来您已经在控制台中以某种方式设置了set.seed(1) rnorm(1) #> [1] -0.6264538 sample(1:10, 1) #> [1] 7 set.seed(1, sample.kind = "Rounding") #> Warning in set.seed(1, sample.kind = "Rounding"): non-uniform 'Rounding' #> sampler used rnorm(1) #> [1] -0.6264538 sample(1:10, 1) #> [1] 6 。您可以从sample.kind = "Rounding"的输出中进行检查。