我不熟悉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命令。我能做什么? 非常感谢你
答案 0 :(得分:2)
您需要使用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