具有多种均值的 dmnorm() 函数
我一直在搜索答案,但除了 之外,没有找到有关此功能的任何信息离开。 R 文档。
如果我想计算具有不同均值或标准差的同一 x 中的一维正态分布的值,我只需调用
dnorm(x, mu, sigma)
其中 mu 和 sigma 将是具有所需均值和 sigma 的数组。 当 x 和 mu 是向量并且 sigma 是协变矩阵时,有没有办法使用 mnormt 模块中的 dmnorm 函数执行相同的技巧?
PS:抱歉我的英语不好,谢谢你的回答。
I've been searching the answer but didn't find any information about this function except the off. R docs.
If i want to calculate the values of 1-dimentional normal distribution in the same x with different means or standard deviations i'll just call
dnorm(x, mu, sigma)
where mu and sigma will be arrays with desired means and sigmas.
Is there any way to perform same trick with dmnorm function from mnormt module, when x and mu are vectors and sigma is a covariation matrix?
P.S.: Sorry for my English, thanks for answers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 R 中,函数的集合称为“包”。如果函数的参数未进行向量化,则可以使用
sapply
将一个参数作为向量传递给它,或者使用maply
作为一组并行化列表传递给它。因此,您应该考虑数学问题,尤其是“均值”不再是单个数字而是一个向量,并且 sigma(dmnorm
称为“varcov”)不再是单个数字而是一个矩阵。帮助页面中的第一个示例为您提供了 21 个不同 x、y、z 的密度以及单个均值向量和 sigma 矩阵。使用该示例作为起点,创建 7 个 x、y、x 和 7 个不同均值和西格玛的列表,然后将其
映射
到 xyz 中的前 7 项:In R the collections of functions are called "packages". If a function is not vectorized in its parameters, you can pass it one parameter as a vector with
sapply
or as a parallelized set of list withmapply
. So you should consider the mathematical issue, especially that the 'mean' is no longer a single number but rather a vector, and that sigma (whichdmnorm
is calling 'varcov')is no longer a single number but rather a matrix. The first example in the help page gives you the densities of 21 different x,y,z's and a single mean vector and sigma matrix.Using that example as a starting point, make a list of 7 x,y,x and 7 varying means and sigmas and then
mapply
it to the first 7 items in the xyz's :