R 中的递归均值与 Rcpp

2023-11-30

我正在尝试使用简单的递归实现来计算变量的平均值:

m <- 0 # initialize mean

for(irep in 0:999){

# new data point
new_data <- rnorm(1,2,1)

# recursive formula for sample mean
m = (irep/(irep+1)) * m + (1/(irep+1)) * new_data

}

Here, m将很快收敛到 2,它对应于我们生成新数据点的正态分布的平均值。在 Rcpp 中实现类似的东西:

#include <RcppArmadillo.h>

// [[Rcpp::depends(RcppArmadillo)]]

using namespace Rcpp;

// [[Rcpp::export]]
double  rec_mean(int sample_size){

  double m = 0; //initialize mean

  for(int irep = 0; irep < sample_size; irep++){

      // new data
      double new_data = R::rnorm(2,1);

      // mean recursive update
      m = ((irep)/(irep+1)) * m + (1/(irep+1)) * new_data;

  }

  return m;

}

此代码没有显示预期的行为。相反,它返回初始值。有人能告诉我从 R 到 Rcpp 的翻译错误在哪里吗?


在这一行中:

m = ((irep)/(irep+1)) * m + (1/(irep+1)) * new_data;

你正在划分一个int由另一个int两次。在 C++ 中,整数除法返回另一个整数,并丢弃余数。

为了得到你想要的,强制以浮点数进行除法:

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

R 中的递归均值与 Rcpp 的相关文章

  • 如何通过组度量的平均值在 df 内排列 dplyr:: 组?

    借鉴吴卡拉的设计https stackoverflow com a 26555424 9350837 https stackoverflow com a 26555424 9350837答案 我希望根据各个组汇总测量的平均值对分组 df 进
  • 将模式的所有元素与向量以相同的顺序匹配

    我创建了一个函数yes seq需要两个参数 一个模式pat和数据dat 该函数以相同的顺序查找数据中是否存在模式 例如 dat lt letters 1 10 dat 1 a b c d e f g h i j pat lt c a c g
  • Shiny :针对所有错误显示一条消息

    我在 R 的 Shiny 中有一个应用程序 我想处理消息 以便用户看不到发生了什么错误 我知道通过 tags style type text css shiny output error visibility hidden shiny ou
  • 连接树状图和热图

    我有一个heatmap 一组样本的基因表达 set seed 10 mat lt matrix rnorm 24 10 mean 1 sd 2 nrow 24 ncol 10 dimnames list paste g 1 24 sep p
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • 按名称包含在单个对象中的多个列对 data.frame 进行排序?

    我想排序一个data frame由多列组成 理想情况下使用基础 R 无需任何外部包 尽管如果有必要 就这样吧 读过如何按列对数据框进行排序 https stackoverflow com questions 1296646 how to s
  • ggplot2 + 使用比例 X 的日期结构

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

    如果在 matlab 中使用可变时间步长求解器 例如 ODE45 我会定义输出的时间跨度 即times 0 50 matlab 将返回 0 到 50 之间不同时间步长的结果 然而在 R 中 我似乎必须定义我希望 ODE 返回结果的时间点 即
  • 如何编写固定宽度的文件?

    我应该编写一个基于固定宽度列的特定格式的 txt 文件 例如 第 1 8 列中的第一个变量 第 9 15 列中的第二个变量 原始数据有不同的长度 它们必须放在指定列的右侧 例如 值 15 96 和 12 489 必须写入第一行和第二行的第1
  • e_facet 在 echarts4r 问题中使用分组数据

    我真的很喜欢这个包提供的可能性 并且想在一个闪亮的应用程序中使用它 然而我正在努力重新创建从 ggplot 到 echarts4r 的情节 library tidyverse library echarts4r data tibble ti
  • GLMER 警告:方差-协方差矩阵 [...] 不是正定的或包含 NA 值

    我有时发现我的 GLMM 来自glmer 包裹lme4 当调用其摘要时显示以下警告消息 Warning messages 1 In vcov merMod object use hessian use hessian variance co
  • 动态规划的复杂组合条件

    我正在探索动态规划设计方法如何与问题的底层组合属性相关 为此 我正在查看的规范实例硬币找零问题 Let S d 1 d 2 d m and n gt 0是请求的金额 我们可以用多少种方式相加n仅使用中的元素S 如果我们遵循一个动态规划如果要
  • ggplot2 方面的内部排序

    我正在尝试在 ggplot2 中绘制一个方面 但我很难使不同方面的内部顺序正确 数据如下 head THAT EXT ID FILE GENRE NODE 1 CKC 1823 01 CKC Novels better 2 CKC 1824
  • R:使用数据框 A 中某个日期之前的值填充数据框 B 中的行

    这可能非常复杂 我怀疑需要先进的知识 我现在有两种不同类型的 data frames 我需要组合 数据 数据框A 按患者 ID 列出所有输血日期 每次输血均由单独的行表示 患者可以进行多次输血 不同的患者可以在同一天进行输血 Patient
  • 有什么方法可以禁用 PDF/Postscript 输出中的“减号破解”吗?

    在 R 中 将绘图保存到 PDF 或 Postscript 文件时 轴标签中的连字符会变成减号 显然 这是设计使然 根据 postscript 设备的文档 正常编码规则 有一个例外 字符 45 始终设置为负号 其在 Adob e ISOLa
  • 消除垂直线ggplot

    这个问题以前曾被问过 但答案并不总是明确或很复杂 我希望 ggplot2 的新版本能够带来更简单的解决方案 如何仅消除 ggplot 的垂直线而不消除轴刻度线或标签 这对于条形图来说确实很好 因为它可以消除图形中一些不必要的干扰 这里有一些
  • 更快地评估从右到左的矩阵乘法

    我注意到以二次形式评估矩阵运算右到左明显快于左到右在 R 中 取决于括号的放置方式 显然它们都执行相同的计算量 我想知道为什么会这样 这与内存分配有什么关系吗 A 5000 5000 B 5000 2 A matrix runif 5000
  • R中的for循环和if函数

    我正在用 R 中的 if 函数编写一个循环 表格如下 ID category 1 a 1 b 1 c 2 a 2 b 3 a 3 b 4 a 5 a 我想使用 for 循环和 if 函数添加另一列来计算每个分组的 ID 如下所示的计数列 I
  • Lisp 中的十进制到二进制 - 制作非嵌套列表

    当达到我的递归情况时 我使用list将未来结果附加到当前结果 但由于递归 我最终得到一个嵌套列表 当我有一个导致递归超过五次的数字时 这会导致错误 任何想法如何我可以在一个简单的非嵌套列表中获得结果 例如 CL 用户 100 8 gt BI
  • R - 加速近似日期匹配。 idata.frame?

    我正在努力有效地执行两个数据帧之间的 关闭 日期匹配 这个问题探索了一个解决方案 使用idata frame来自plyr包 但我也对其他建议的解决方案感到非常满意 这是两个数据框的非常简单的版本 sampleticker lt data f

随机推荐

  • Android计算Horizo​​ntalScrollView中的scrollTo位置

    我有 Horizo ntalScrollView 和几个 TextView 每个 TextView 可能包含不同长度的文本 我应该如何计算使用 scrollTo x y 滚动到的正确偏移量 滚动有效 但与预期不同 我已经尝试了各种方法 每个
  • 翻译我的主题的 function.php 文件中的自定义标签字段

    在社区的帮助下 我成功创建 保存标签及其值并将其打印到单个产品页面 我还可以使用将输入值翻译成不同的语言Polylang 但是翻译自定义标签 条件和品牌 非常困难 有人可以帮助我解决这些问题吗 我尝试使用Polylang Saywhat 没
  • 用php动态创建zip

    使用 php 创建动态 zip 文件的最简单方法是什么 例如 我在服务器上有这些文件 Root gt Folder 1 gt file1 wav Root gt Folder 2 gt file2 jpg 我想创建一个包含这两个文件的 zi
  • +Android Webview - 如何自动滚动页面?

    我想在网络视图中打开一个html页面 并使其根据通过计时器设置的时间间隔自动向下滚动 虽然下面的示例适用于桌面 但此链接应该让您了解我想要实现的目标 在页面的右上方启用自动滚动 example 首先 我考虑打开一个网页 然后使用某种可以模拟
  • Sed/Awk 删除第二次出现的字符串 - 平台无关

    我正在 bash 中寻找一行既适用于 linux 又适用于 OS X 的行 以删除包含所需字符串的第二行 Header 1 2 Header 10 11 应该成为 Header 1 2 10 11 我的第一次尝试是使用 sed 的删除选项
  • 如何在 Google 地图中设计高尔夫球场(沙丘和果岭)?

    我目前正在使用时髦的地图超轻主题设计我的 Google 地图 人们所期望的造型 景观 影响高尔夫球场 featureType landscape elementType geometry stylers color f5f5f5 light
  • 如何在Azure Blob上实现快速搜索?

    我已完成编写将文件 文本文件 上传到 azure blob 存储的代码 现在我想提供基于文本文件内容的搜索 对于前 如果我搜索 Hello 那么包含 Hello 单词的文件名应该出现在搜索结果中 这是我要搜索的代码 class BlobSe
  • Javascript 到 csv 导出编码问题

    我需要将 javascript 数组导出到 Excel 文件并下载它 我正在这段代码中执行此操作 data 是一个 JavaScript 对象数组 var csvContent data text csv charset utf 8 dat
  • 避免在jetpack compose中的嵌套列中进行重组

    我正在 jetpack compose 中的嵌套列上工作 我有一个列表 其中包含来自服务器的大量数据 我在布局检查器中进行了检查 我发现每当我的项目添加到列表中时 它都会重新组合并增加计数 所以我的疑问是 如果我在列表中一一添加 100 个
  • 在 C# 中将值从一种形式传递到另一种形式

    我必须通过id从 C 中的一种形式到另一种形式 我无法做到这一点 C 代码是 private void btnedit Click object sender EventArgs e foreach DataGridViewRow a in
  • 通过反射确定派生类

    我想处理从类 A 派生的类的方法 类 A 和派生类驻留在不同的程序集中 我使用反射从派生程序集中获取所有 System Type 并迭代它们的方法 Assembly A class Template Assembly B class X A
  • 无法使用 SSH 隧道将 MongoDB Compass 连接到 AWS DocumentDB

    我是 mongoDB 新手 试图为我的新项目设置工具 我的大部分基础设施都在 AWS 上运行 因此我更喜欢使用 AWS documentDB 我设法通过 mongo 客户端或 NodeJS 应用程序从 EC2 连接到 documentDB
  • HTML 文档的 head 元素内可以有 div 标签吗?

    只是想知道是否可以在 head 元素内添加 div 标签 No div 不是位于其中的有效标签标签 因为标签仅适用于元数据 例如标题和页面描述 脚本 样式和其他不打算显示的内容 虽然将其放入有效 这样做很糟糕 你不应该把它放在那里 规范说这
  • Python:从 urllib2.urlopen 调用获取 HTTP 标头?

    Does urllib2当 a 时获取整个页面urlopen已拨打电话 我只想读取 HTTP 响应标头而不获取页面 看起来像urllib2打开 HTTP 连接 然后获取实际的 HTML 页面 或者它只是开始缓冲页面urlopen call
  • Haskell“没有实例”错误

    我正在尝试编写一个函数来检查数字是否为素数 我写了这个 primeCheck Int gt Int gt Bool primeCheck n i n 2 True i 1 True n mod i 0 False otherwise pri
  • Google 图表 - 单击图例键时隐藏线条

    我希望在单击图例中的相关键时能够显示 隐藏折线图上的线条 这可能吗 要隐藏 GWT 可视化折线图上的显示线 请按照下列步骤操作 1 基于现有的DataTable对象创建DataView对象 DataTable dataTable DataT
  • 使用 matplotlib 具有多种颜色的颜色轴脊柱

    是否可以使用 python 中的 matplotlib 对轴脊柱进行多种颜色着色 所需的输出风格 您可以使用LineCollection创建一个五彩线 然后 您可以使用 x 轴变换将其固定在 x 轴上 而与 y 限制无关 设置实际脊柱不可见
  • 有没有办法在 Rust 中创建指向方法的函数指针?

    例如 struct Foo impl Foo fn bar self fn baz self fn main let foo Foo let callback foo bar error E0615 attempted to take va
  • Guice:一个“Provider”用于多种实现

    我有一个包含 20 个左右带注释的实现的接口 如果我在编译时知道需要哪个 我可以注入正确的 但现在我需要根据运行时参数动态注入一个 据我了解文档 我将不得不使用 20 左右Provider
  • R 中的递归均值与 Rcpp

    我正在尝试使用简单的递归实现来计算变量的平均值 m lt 0 initialize mean for irep in 0 999 new data point new data lt rnorm 1 2 1 recursive formul