vapply 命令和 mvtnorm
Vapply command and mvtnorm
我不熟悉 R 中向量的函数。
当一些参数根据不同的函数同时改变值时,我想要一个具有不同双变量累积概率值的向量。例如这里:
library(mvtnorm)
m<-2
corr<-diag(2)
corr[2,1]<-0
vapply(2*1:3,function(x)
pmvnorm(mean=c(2,x),corr,lower=c(-Inf,-Inf), upper=c(1,2)),1)
[1] 7.932763e-02 3.609428e-03 5.024809e-06
当第二个分布的均值取值 2,4 和 6 时,我有不同的累积概率值。
我的问题是我想同时更改第一个分布的均值的值。我无法正确编写具有多个功能的 vapply 命令。我能做什么?
非常感谢
您将需要使用 mapply
完成此任务
library(mvtnorm)
corr <- diag(2)
m1 <- c(3, 5, 7)
m2 <- c(2, 4, 6)
mapply(function(x, y)
pmvnorm(mean = c(x, y), corr, lower = c(-Inf, -Inf), upper = c(1, 2)),
m1, m2)
## [1] 1.1375e-02 7.2052e-07 3.1246e-14
我不熟悉 R 中向量的函数。 当一些参数根据不同的函数同时改变值时,我想要一个具有不同双变量累积概率值的向量。例如这里:
library(mvtnorm)
m<-2
corr<-diag(2)
corr[2,1]<-0
vapply(2*1:3,function(x)
pmvnorm(mean=c(2,x),corr,lower=c(-Inf,-Inf), upper=c(1,2)),1)
[1] 7.932763e-02 3.609428e-03 5.024809e-06
当第二个分布的均值取值 2,4 和 6 时,我有不同的累积概率值。 我的问题是我想同时更改第一个分布的均值的值。我无法正确编写具有多个功能的 vapply 命令。我能做什么? 非常感谢
您将需要使用 mapply
完成此任务
library(mvtnorm)
corr <- diag(2)
m1 <- c(3, 5, 7)
m2 <- c(2, 4, 6)
mapply(function(x, y)
pmvnorm(mean = c(x, y), corr, lower = c(-Inf, -Inf), upper = c(1, 2)),
m1, m2)
## [1] 1.1375e-02 7.2052e-07 3.1246e-14