R:密度函数 dvmnorm 中的分位数向量是多少
R: what is the vector of quantiles in density function dvmnorm
library(mvtnorm)
dmvnorm(x, mean = rep(0, p), sigma = diag(p), log = FALSE)
dmvnorm
提供多元正态分布的密度函数。第一个参数 x
到底代表什么?文档说 "vector or matrix of quantiles. If x is a matrix, each row is taken to be a quantile."
> dmvnorm(x=c(0,0), mean=c(1,1))
[1] 0.0585
这是帮助页面上的示例代码。在那种情况下,您是否会生成分位数 0 处于均值 1 和 sd 1 的正态分布的概率(假设这是默认值)。由于这是一个多元正态密度函数,并且传入了一个分位数向量 (0, 0)
,为什么输出不是概率向量?
以二元正态(X1, X2)
为例,传入x = (0, 0)
,得到P(X1 = 0, X2 = 0)
,这是一个单值。你为什么期望得到一个向量?
如果你想要一个向量,你需要传入一个矩阵。例如,x = cbind(c(0,1), c(0,1))
给出
P(X1 = 0, X2 = 0)
P(X1 = 1, X2 = 1)
在这种情况下,矩阵的每一行都是并行处理的。
library(mvtnorm)
dmvnorm(x, mean = rep(0, p), sigma = diag(p), log = FALSE)
dmvnorm
提供多元正态分布的密度函数。第一个参数 x
到底代表什么?文档说 "vector or matrix of quantiles. If x is a matrix, each row is taken to be a quantile."
> dmvnorm(x=c(0,0), mean=c(1,1))
[1] 0.0585
这是帮助页面上的示例代码。在那种情况下,您是否会生成分位数 0 处于均值 1 和 sd 1 的正态分布的概率(假设这是默认值)。由于这是一个多元正态密度函数,并且传入了一个分位数向量 (0, 0)
,为什么输出不是概率向量?
以二元正态(X1, X2)
为例,传入x = (0, 0)
,得到P(X1 = 0, X2 = 0)
,这是一个单值。你为什么期望得到一个向量?
如果你想要一个向量,你需要传入一个矩阵。例如,x = cbind(c(0,1), c(0,1))
给出
P(X1 = 0, X2 = 0)
P(X1 = 1, X2 = 1)
在这种情况下,矩阵的每一行都是并行处理的。