从密度对象(或更广泛地从一组数字)生成随机数

2024-04-10

假设我有一组数字,我怀疑它们来自同一分布。

set.seed(20130613)
x <- rcauchy(10)

我想要一个从相同的未知分布中随机生成一个数字的函数。我想到的一种方法是创建一个density对象,然后从中获取 CDF,并取随机均匀变量的逆 CDF(参见维基百科) http://en.wikipedia.org/wiki/Inverse_transform_sampling.

den <- density(x)

#' Generate n random numbers from density() object
#' 
#' @param n The total random numbers to generate
#' @param den The density object from which to generate random numbers
rden <- function(n, den)
{
        diffs <- diff(den$x)
        # Making sure we have equal increments
        stopifnot(all(abs(diff(den$x) - mean(diff(den$x))) < 1e-9))
        total <- sum(den$y)
        den$y <- den$y / total
        ydistr <- cumsum(den$y)
        yunif <- runif(n)
        indices <- sapply(yunif, function(y) min(which(ydistr > y)))
        x <- den$x[indices]

        return(x)
}

rden(1, den)
## [1] -0.1854121

我的问题如下:

  1. 是否有更好的(或内置在 R 中)方法从密度对象生成随机数?
  2. 关于如何从一组数字生成随机数还有其他想法吗(除了sample)?

要从密度估计生成数据,您只需随机选择一个原始数据点,并根据密度估计的内核添加随机“错误”部分,对于默认的“高斯”,这仅意味着从原始向量并添加平均值为 0 且标准差等于所用带宽的随机法线:

den <- density(x)

N <- 1000
newx <- sample(x, N, replace=TRUE) + rnorm(N, 0, den$bw)

另一种选择是使用以下公式来拟合密度logspline函数从logspline包(使用不同的方法来估计密度),然后使用rlogspline该包中的函数可根据估计的密度生成新数据。

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

从密度对象(或更广泛地从一组数字)生成随机数 的相关文章

  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 如何计算R中移动窗口内的平均斜率

    我的数据集包含2个变量y 和 t 05s y 每 05 秒测量一次 我正在尝试计算移动中的平均坡度20秒窗口 即计算第一个 20 秒斜率值后 窗口向前移动一个时间单位 05 秒 并计算下一个 20 秒窗口 在以下位置生成连续 20 秒斜率值
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • Dendextend:关于如何根据定义的组为树状图的标签着色

    我正在尝试使用一个名为 dendextend 的很棒的 R 包来绘制树状图并根据一组先前定义的组为其分支和标签着色 我已阅读您在 Stack Overflow 中的答案以及 dendextend vignette 的常见问题解答 但我仍然不
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • 我可以有效地从 HashSet 中随机采样吗?

    我有一个std collections HashSet 我想采样并删除一个均匀随机的元素 目前 我正在做的是使用随机抽样索引rand gen range 然后迭代HashSet到该索引来获取元素 然后我删除选定的元素 这可行 但效率不高 有
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 为什么 R 更新后 sim_slopes() 中会出现此错误?

    我正在尝试使用 交互 包来创建简单斜率的约翰逊 尼曼图 但是 当尝试运行 sim slopes 函数时 出现以下错误 直到我将R更新到4 2 2 我才没有遇到这个问题 我使用的是 macOS Ventura 13 1 Error class
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 闭包作为数据合并习惯的解决方案

    我正在尝试解决闭包问题 而且我think我发现了一个案例 他们可能会有所帮助 我有以下几部分需要处理 一组正则表达式 旨在清理状态名称 位于函数中 具有州名称 上述函数创建的标准化形式 和州 ID 代码的 data frame 用于链接两者
  • 如何使用 tidymodels 和工作流集在同一数据集上拟合多个不同的线性模型

    我想评估同一数据集上多个 主要是 线性回归模型的性能 我想也许使用tidymodels包连同workflowsets workflow set 可能会起作用 我按照这个例子here https workflowsets tidymodels

随机推荐

  • 枚举属性和副作用

    我有一个关于枚举的问题 这可能是一个简单的问题 但是 这是我的程序 public class Hello public enum MyEnum ONE 1 TWO 2 private int value private MyEnum int
  • 尝试选择菜单选项时,CSS悬停下拉菜单消失

    一段时间以来 我一直在寻找代码的修复方法 我有一个下拉菜单 在您将鼠标悬停在静态对象上后显示菜单的内容 但是当您尝试选择其中一个项目 将鼠标移离静态对象 时 项目会消失 设置回显示 无 我的代码如下 HTML div div class m
  • Puppeteer-web:不允许协议错误(目标:getBrowserContexts)

    我有一个 chrome 扩展正在尝试实现 puppeteer web 我已按照以下代码尝试进行设置puppeteer web Puppeteer 不是构造函数 https stackoverflow com questions 530010
  • nginx 和 nodejs 提供动态文件夹中的图像

    你好 我有这个 nginx 设置 server listen 80 server name xxxxxx xx www xxxxxxx xx root home xxxx public html location proxy pass ht
  • 是否可以从文件开头删除字节?

    我知道我可以有效地截断文件并从文件末尾删除字节 是否有相应的有效方法通过删除从文件开头到文件中间某个点的内容来截断文件 当我阅读您要求从文件开头开始删除文件内容的问题时 换句话说 您希望删除文件开头的内容并将剩余内容下移 这不可能 您只能从
  • Google 地图 API (9757):授权失败

    安卓工作室3 1 3安卓6 0摇篮4 4 我想要获取新的 Google 地图 api 密钥 所以这是我的步骤 在 Android Studio 中的 Android 项目中 我打开文件 googel maps api xml 将下一个网址复
  • 如何使用 boost::split 分割字符串并保留分隔符?

    我有一个像这样的字符串 std string input I am going to learn how to use boost library 我这样做 std vector
  • 如何在 ORC 分区 Hive 表的中间添加一列,并且仍然能够使用新结构查询旧分区文件

    目前 我在 Prod 中有一个分区 ORC 托管 错误地创建为内部优先 Hive 表 其中至少有 100 天的数据 按年 月 日 约 16GB 数据 分区 这个表大约有160列 现在我的要求是在这个表的中间添加一列 并且仍然能够查询旧数据
  • 如何在Python 3中用前导零填充字符串[重复]

    这个问题在这里已经有答案了 我正在努力使length 001在Python 3中 但每当我尝试打印它时 它都会截断不带前导零的值 length 1 我该如何阻止这种情况发生而不需要施放length在打印之前将其转换为字符串 利用zfill
  • 在 Android 10 的深色模式设备上进行测试时,文本颜色被覆盖为白色

    在以下 React Native 0 63 3 应用中 模拟器上的文本颜色按预期为黑色 但在 Android 10 的深色模式设备上进行测试时 文本颜色被覆盖为白色 import React from react import View T
  • 使用假网络摄像头和真实微型运行 Chromium

    我可以使用以下命令运行带有假网络摄像头的 Google Chrome google chrome stable use fake device for media stream use file for fake video capture
  • 管道末端重定向(C shell)

    我正在努力使ls tr a b gt text txt我已经完成管道 但无法将 STDOUT 添加到管道的末尾 在我的情况下 STDOUT 只能在最后一个参数中 我标记了应该进行重定向的代码部分 我认为应该打开该文件 并且dup2使用的方法
  • 如何将sbt项目导入到Eclipse中?

    我想将我的 sbt 项目导入 Eclipse 在网上搜索时 我了解到 Eclipse 有一个 sbteclipse 插件可以导入 sbt 项目 但我不知道该怎么做 我在 Ubuntu 12 04 LTS 上使用 Eclipse Kelper
  • Mysql Codeigniter Active Record - 如何执行 where_in 查询并返回正确的结果顺序?

    我有一组按特定顺序传递的 ID 需要保留 我正在从几个左连接查询与每个 ID 相关的数据 ID 是从搜索中返回的 因此必须保持顺序以使结果有效 否则搜索变得毫无意义 我的代码看起来像这样 this gt db gt where in id
  • 关于 ExpandableListView ChildView 的 Button ClickListener 的问题

    我正在尝试为我的餐厅制作一个应用程序 这是我之前遇到的问题 并且已解决 但是 您会在 ChildView 中注意到一些按钮 即 添加 就像这样对于我之前的查询here https stackoverflow com questions 63
  • 禁用与原型观察方法的链接

    我想创建一个像这样的链接 a href http example com text a 并替换行为 以便链接在单击时使用 Ajax 下载内容 对我来说重要的是不要替换 href 属性 因此复制链接仍然有效 一种解决方案是 link oncl
  • 实体框架6错误无法加载指定的元数据资源

    我在解决方案中使用实体框架 6 和 模型优先 我将 数据模型 类分离到另一个项目中 以便我可以添加对 数据模型 类的引用 而无需公开我的 数据模型上下文 和连接 我不想将我的实体数据模型项目 尤其是数据库上下文等 暴露给我的 UI 层 我有
  • 图像绘制速度

    我正在开发一款游戏 但目前我正在运行基准测试 如果有人能在这件事上帮助我 我将不胜感激 我正在做的是 当我单击开始按钮时 使用以下代码在面板上触发绘制事件 private void startToolStripMenuItem Click
  • 共享 ViewModel 以帮助片段和父 Activity 之间的通信

    虽然 JetPack 的导航组件看起来很有前途 但我却找不到实现我想要的东西的方法 让我们看一下示例应用程序屏幕 该应用程序有一个主要活动 一个顶部工具栏 一个带有 fab 的底部工具栏 我面临着两个挑战 我想以正确的方式解决它们 1 我需
  • 从密度对象(或更广泛地从一组数字)生成随机数

    假设我有一组数字 我怀疑它们来自同一分布 set seed 20130613 x lt rcauchy 10 我想要一个从相同的未知分布中随机生成一个数字的函数 我想到的一种方法是创建一个density对象 然后从中获取 CDF 并取随机均