打印当前的随机种子,以便我稍后可以使用 set.seed() 输入它

2024-02-26

我是这里的 R 新手。

假设我有一行代码

set.seed(123456)

然后我想获取值 123456,以便我可以将其打印出来用于文档目的,并且如果需要的话可以在将来的某个时候重新输入该值。那么我如何获得该种子呢?

请注意,我可能会注释掉上面的代码行,因此我实际上不知道 123456 处的种子是什么。因此我需要 r 将当前种子的位置打印为单个整数,而不是列表626 个整数。


所使用的种子之间实际上存在一种单向关系set.seed()以及中的信息.Random.seed; as ?Random.seed说,@MattTenenbaum 的回答显示,信息.Random.seed可以保存和恢复。我很欣赏对一个函数的渴望,该函数可以从当前状态派生出一个简单的整数种子.Random.seed,但在没有它的情况下,您必须保存并恢复完整信息......例如

set.seed(1001)
save(".Random.seed",file="random_state_seed1001.RData") ## save current state
runif(1)
## [1] 0.9856888
runif(1)
## [1] 0.4126285
runif(1)
## [1] 0.4295392
load("random_state_seed1001.RData") ## restore state just after set.seed()
runif(1)
## [1] 0.9856888

正如 @JoshuaUlrich 指出的,只有在保存和恢复之间不修改 RNG 的类型(以及正常偏差生成器的类型)时,这才有效/安全......

更完整的解决方案:

save_rng <- function(savefile=tempfile()) {
    if (exists(".Random.seed"))  {
        oldseed <- get(".Random.seed", .GlobalEnv)
    } else stop("don't know how to save before set.seed() or r*** call")
    oldRNGkind <- RNGkind()
    save("oldseed","oldRNGkind",file=savefile)
    invisible(savefile)
}

restore_rng <- function(savefile) {
    load(savefile)
    do.call("RNGkind",as.list(oldRNGkind))  ## must be first!
    assign(".Random.seed", oldseed, .GlobalEnv)
}

试试看:

set.seed(101)
RNGstore <- save_rng()  ## save file name
runif(1)
## [1] 0.3721984
runif(10)
## [1] 0.04382482 0.70968402 0.65769040 0.24985572 0.30005483 0.58486663
## [7] 0.33346714 0.62201196 0.54582855 0.87979573
restore_rng(RNGstore)
runif(1)
## [1] 0.3721984

也可以看看:http://www.cookbook-r.com/Numbers/Saving_the_state_of_the_random_number_generator/ http://www.cookbook-r.com/Numbers/Saving_the_state_of_the_random_number_generator/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印当前的随机种子,以便我稍后可以使用 set.seed() 输入它 的相关文章

  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • mySQL 返回可能有重复项的随机行

    我正在尝试随机化一定数量的行 但假设数据库中只有 4 行 而我需要获得 6 个随机行 我希望有可能 即使表中有超过 6 行 产生重复的行行 这在 mySQL 中很容易实现吗 我当前的查询是这样的 SELECT FROM winners OR
  • 将文件夹中的多个 csv 文件读取到 R 中的单个数据帧中[重复]

    这个问题在这里已经有答案了 我有一个包含 332 个 csv 文件的文件夹 文件名称如下 001 csv 002 csv 003 csv 330 csv 331 csv 332 csv 所有文件都具有相同数量的变量和相同的格式 我需要读取一
  • 如何使用 ggplot2 对曲线下的区域进行着色

    我一直在尝试使用 ggplot2 生成类似于此 R 图形的绘图 xv lt seq 0 4 0 01 yv lt dnorm xv 2 0 5 plot xv yv type l polygon c xv xv lt 1 5 1 5 c y
  • 使用 roxygen2 导入两个同名函数

    我是 CRAN 包的维护者 在加载时收到以下消息 checking whether package qdap can be installed 10s 10s WARNING Found the following significant
  • R - 通过合并和超过 2 个后缀进行减少(或者:如何合并多个数据帧并跟踪列)

    我正在尝试基于 2 列合并 4 个数据帧 但要跟踪列源自哪个数据帧 我在跟踪列时遇到问题 参见 dput dfs 帖子末尾 df example df1 Name Color Freq banana yellow 3 apple red 1
  • 如何在 R Markdown 中的内联 LateX 方程中输出 R 变量的值(即动态更新)

    我无法找到一种方法将 r 代码实现到 R markdown 中的内联 LateX 方程中 目标是如果变量 值 发生变化 则不必对它们的值进行硬编码 Given values lt c 1 4 2 5 7 9 avg lt sum value
  • 行方向变异的有效方法

    我有两个数据框 dfUsers and purchases使用以下代码生成 set seed 1 library data table dfUsers lt data table user letters 1 5 startDate sam
  • 在 R 的替换命令中取消引用字符串

    我想知道是否可以unquote通过替换命令传递给表达式的字符串 具体来说 我使用 dplyr 从数据框中过滤和选择 gt w subject sex response 1 1 M 19 08 2 2 M 16 46 6 6 M 23 60
  • R,igraph,是否可以用图案填充顶点

    使用 R 和 igraph 绘制图形 我使用颜色来标记顶点类型 请参阅下面的代码 是否可以用图案而不是颜色填充顶点 以便在以彩色和黑白查看时可以区分节点类型 我需要 4 种独特的颜色 图案 colorbrewer 中唯一适合的调色板是这个
  • 在ggplot2中,箱线图线的末尾代表什么?

    我找不到箱线图线条端点代表什么的描述 For example here are point values above and below where the lines end 我意识到盒子的顶部和底部是第 25 个和第 75 个百分位数
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • R 3.5 - read.csv 无法读取 UTF-16 csv 文件

    我的代码如下 read csv http asic gov au Reports YTD 2018 RR20180420 001 SSDailyYTD csv skip 1 fileEncoding UTF 16 sep t header
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • 使用 data.table 左连接

    假设我有两个数据表 s dataA A B 1 1 12 2 2 13 3 3 14 4 4 15 dataB A B 1 2 13 2 3 14 我有以下代码 merge test merge dataA dataB by A all d
  • ggplot2 + 使用比例 X 的日期结构

    我真的需要帮助 因为我已经迷路了 我正在尝试创建一个折线图 显示几个团队一年来的表现 我将一年分为几个季度 2012 年 1 月 1 日 2012 年 4 月 1 日 2012 年 8 月 1 日 12 1 12 并将 csv 数据帧加载到
  • ggplot 按因子和梯度颜色

    我正在尝试绘制一个对两个变量 一个因子和一个强度 进行着色的图 我希望每个因素都是不同的颜色 并且我希望强度是白色和该颜色之间的渐变 到目前为止 我已经使用了诸如对因子进行分面等技术 将颜色设置为两个变量之间的相互作用 并将颜色设置为因子并
  • ggplot:类似于scale_color_steps()的有序因子的色标

    With scale color steps 我们可以通过设置low和high争论 一个例子 df lt data frame x rnorm 99 y rnorm 99 col rnorm 99 ggplot df aes x y col
  • 在 R 中读入原始二进制数据并将其转换为整数

    我有一个二进制文件 其中包含编码为不同长度 主要是 2 4 字节 的有符号或无符号整数的数值 为了处理这些数据 我将文件的所需部分读取为raw向量与readBin 然后尝试将其转换为十进制 问题是 R的内置函数有限制 我不太明白 比如没有l
  • 解压 R 数据框中的列表

    我有一个dataframe其中一个字段包含不同长度的列表 我想将该字段中列表的每个元素提取到其自己的字段中 以便我可以将结果收集到一个很长的字段中dataframe每个列表元素都有一个 id 这是一个例子dataframe dat lt s

随机推荐

  • 使用 pyplot.imshow 时禁用 MatPlotLib 警告

    第一次来这里 当我使用时 我收到以下警告pyplot imshow功能 使用 RGB 数据将输入数据裁剪到 imshow 的有效范围 浮点数为 0 1 整数为 0 255 根据我的数据 我知道这是完全预期的行为 如何关闭此警告 我努力了 i
  • 在字符串列表中搜索字符串的有效方法?

    我有一个字符串列表 需要查找哪些字符串与给定的输入值匹配 对我来说 存储此字符串列表并能够搜索它的最有效方法 内存与执行速度 是什么 字符串列表的启动和加载并不重要 但搜索的响应时间很重要 我应该使用 List 或 HashSet 还是只是
  • 使用 python 启动通过 chcp 65001 预先激活的控制台窗口

    我使用 python 库将 Unicode 字符打印到 Windows 控制台 如果我调用库中打印出 Unicode 字符的函数 它将引发异常 charmap codec can t encode characters 这就是我试图解决该错
  • ModuleNotFoundError:没有名为“flask”的模块

    阅读完这篇文章的标题后 不要尝试先复制 因为这里的内容可能会以不同的方式被问到 顺便说一句 我对 python 很陌生 现在为了工作需要开始学习 这是我的依赖项 virtualenv version gt 15 0 2 pip versio
  • “Message”:“此请求的授权已被拒绝。” OWIN中间件

    我将基于令牌的身份验证添加到我的 OWIN 中间件中 并且可以生成令牌 但在使用具有授权属性的 API 调用的令牌时 我总是收到 此请求的授权已被拒绝 尽管没有 Authorize 属性 但它工作正常 这是我的startup cs 和控制器
  • iOS,通过代码锁定设备

    出于测试目的 制作本地通知的屏幕截图 我需要能够从代码 测试代码或应用程序代码 锁定设备 模拟器 我从这里查看了几个答案 GSEventLockDevice 但它们很旧并且不适合我 XCUIDevice 中有一个私有方法 因此您可以使用它锁
  • Three.js - 如何检查对象是否位于球体后面(不可见)

    我有一个球体 球体 表面有对象 引脚 并且带有 DOM 元素 标签 这些元素是从引脚位置到 2d 世界计算得出的 我的问题是 当图钉位于地球后面 通过鼠标拖动或动画 时 我需要隐藏 DOM 中的标签 以便在没有图钉的情况下文本标签不可见 我
  • Android 相机预览在切换相机时冻结?

    我正在为我的应用程序编写一个自定义相机 使用后置或前置摄像头打开活动时 它工作正常 但我真的很难在活动中切换摄像机 当我点击切换相机按钮时 预览冻结但什么也没发生 我已经尝试了与相机和预览相关的其他问题中建议的答案和提示 但没有任何效果 这
  • 如何覆盖jquery/javascript设置的css高度?

    我有这个 var setHeight this outerHeight returns e g 687 someElement css height setHeight px important I want to override thi
  • 使用 g++ 编译多线程代码(-Wl,--no-as-needed 不起作用)

    我的问题实际上是在这里描述的 使用g 编译多线程代码 https stackoverflow com questions 19463602 compiling multithread code with g 但是关于使用 Wl no as
  • 检查进程是否已加载

    有没有办法检查应用程序是否已完成加载 例如 如果我要使用Process newProcess Process Start C someFile xls 有没有IsLoaded or IsFinishedLoading或类似的东西 以便在应用
  • Python sys.argv 超出范围,不明白为什么

    我有一个脚本 我已经使用了一段时间来轻松地将文件上传到我的服务器 它已经工作了很长一段时间 但我无法让它在我的新台式计算机上工作 代码很简单 import os path import sys import os from ftplib i
  • 找到链表中循环的起始节点?

    如何在给定的链表中找到循环的起始节点 我们称其为循环点 到目前为止 我已经了解以下内容 使用慢 快指针 假设列表有一个非循环部分的大小k 缓慢移动 k 步 快速移动 2k 步 快的是 2k k k steps ahead of slow 慢
  • MediaPlayer 视频大小代号?

    我一直在使用 Codename 1 来开发 VideoCapture String file Capture captureVideo Media video MediaManager createMedia file true f add
  • Django/jQuery 级联选择框?

    我想构建一个国家 州选择器 首先 您选择一个国家 地区 该国家 地区的州 省 自治区 直辖市 自治区将显示在第二个选择框中 在 PHP 和 jQuery 中做到这一点相当容易 但我发现 Django 表单在这个意义上有点限制 我可以在页面加
  • 如何通过使用 JPA + Hibernate 和 Spring-boot 在一个数据库中使用多个模式?

    我需要它来访问一个数据库 MySQL 中的 2 个不同模式 我在这里写了两个配置类 package twodb webfi config import java util Properties import javax persistenc
  • 在 Spring Boot 中更新应用程序的配置

    当我运行 Spring Boot 应用程序时 在 Spring Boot 错误中更新应用程序的配置 maven构建成功 但是错误依然存在 我应该做什么来改变克服这个错误 Spring Boot
  • Javascript/jQuery:从画布中删除形状/路径

    我似乎找不到在创建画布后从画布中删除形状或路径的功能 所以我在两点之间创建一条贝塞尔曲线 beginPath bezierCurveTo stroke closePath 创建后如何将其从画布中删除 我需要能够通过调用删除函数toggle
  • 确定神经网络的适当神经元数量

    我一直在对神经网络进行一些研究 整个概念和理论对我来说很有意义 尽管我一直无法找到答案的一个问题是神经网络中应该使用多少个神经元 以获得正确 有效的结果 包括隐藏层 每个隐藏层的神经元等 更多的神经元一定会得到更准确的结果 同时对系统造成更
  • 打印当前的随机种子,以便我稍后可以使用 set.seed() 输入它

    我是这里的 R 新手 假设我有一行代码 set seed 123456 然后我想获取值 123456 以便我可以将其打印出来用于文档目的 并且如果需要的话可以在将来的某个时候重新输入该值 那么我如何获得该种子呢 请注意 我可能会注释掉上面的