- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将内置 R 函数 rnorm
、qnorm
和 pnorm
的性能与等效的 Matlab 函数进行了比较。
似乎 rnorm
和 pnorm
函数在 R 中比在 Matlab 中慢 3-6 倍,而 qnorm
函数是约在 R 中快 40%。我尝试使用 Rcpp 包通过使用相应的 C 库来加速 R 函数,这导致运行时间减少了约 30%,这仍然比 rnorm
的 Matlab 慢得多和 pnorm
。
是否有可用的包提供了一种在 R 中模拟正态分布随机变量的更快方法(除了使用标准 rnorm
函数)?
最佳答案
我在这里看到两个不同的问题,每个段落一个:
是的,R 和 Matlab 等语言/系统之间存在差异。它的一部分与解释器、循环速度、函数调用速度等有关。Rcpp 可以在具有真正 JIT 编译器的 Matlab 方面提供帮助。我们在最近关于 RcppArmadillo 的论文中对卡尔曼滤波器的 Matlab、R 和 R+Rcpp 进行了比较。
底层编译代码也存在差异,是的,R 并不总是具有更快的实现,因为 R Core(恕我直言)首先追求精度。 (并且 Rcpp 本身并没有帮助:我们只是调用 R 内部的东西。)这已经出现了,例如 Darren Wilkinson 开始的 MCMC 的 Gibbs Sampler 示例。我注意到 R 的 rgamma()
比其他系统慢得多。因此,为了更快地回答有关 N(0,1) 绘制的问题:我认为我们需要一个贡献的 Ziggurat 实现。这是目前速度更快的 N(0,1) 生成器之一,其他一些系统也在使用它。
关于performance - R 与 Matlab : Explanation for speed difference for rnorm, qnorm 和 pnorm 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14869610/
我在使用 qnorm(psn()) 时遇到了数字问题。问题是数字。 首先,Skew-Normal CDF 舍入结果,因为 psn(9) 不是 1: library(sn) psn(9) #[1]
问题 我正在寻找尾部正态分布的高精度值 (1e-10 and 1 - 1e-10) ,因为我使用的 R 包将超出此范围的任何数字设置为这些值,然后调用 qnorm和 qt功能。 我注意到的是 qnor
我有一个使用正态分布函数 pnorm() 和 qnorm() 的归一化方法。我想改变我的逻辑,以便我可以使用经验分布而不是假设正态性。我已经使用 ecdf() 来计算经验累积分布,但后来意识到我开始编
我已阅读 qnorm() 上的文档但无法真正理解它的作用。能不能详细回答一下qnorm()做? 注意-请原谅我问这么简单的问题。我是 R 的初学者。 最佳答案 函数qnorm()旨在找到边界值 A i
require(inline) func <- cxxfunction(, 'return Rcpp::wrap( qnorm(0.95,0.0,1.0) );' ,plugin="Rcpp") 错误
> sapply(c(0.05,0.01),function(k){-qnorm(k)}) [1] 1.644854 2.326348 > -sapply(c(0.05,0.01),qnorm) [1
我正在尝试将这些行从 R 翻译成 Julia: n <- 100 mean <- 0 sd <- 1 x <- qnorm(seq(1 / n, 1 - 1 / n, length.out = n),
当我运行命令 plot(qnorm) 时,它会生成以下图表: 但我不明白该命令是如何生成图表的? 最佳答案 qnorm 是一个函数,因此寻找一个遵循 plot.function 的 S3 约定的函数是
我需要 python 中某些分布的分位数。在 r 中,可以使用 qf、qnorm 和 qchi2 函数计算这些值。 Python 中有这些 R 函数的等价物吗?我一直在寻找 scipy 但我没有找到任
我正在将一些代码从 R 移至 Anaconda Python。 R 代码使用 qnorm,记录为“均值等于 mean 且标准差等于 sd 的正态分布的分位数函数。” 调用及参数为: qnorm(
我设置了种子,生成均匀分布的随机数,用逆CDF方法得到一组正态分布的随机数。然后,我重置种子并使用 rnorm() 生成正态分布的随机数.结果是不同的。 R 中的随机数生成器不是默认使用 Mersen
我将内置 R 函数 rnorm、qnorm 和 pnorm 的性能与等效的 Matlab 函数进行了比较。 似乎 rnorm 和 pnorm 函数在 R 中比在 Matlab 中慢 3-6 倍,而 q
我是一名优秀的程序员,十分优秀!