【问题标题】:Vapply command and mvtnormVapply 命令和 mvtnorm
【发布时间】:2016-01-17 12:41:22
【问题描述】:

我不熟悉 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 命令。我能做些什么? 非常感谢

【问题讨论】:

    标签: r apply tapply


    【解决方案1】:

    您需要使用 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
    

    【讨论】:

    • 太棒了!非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 2017-09-16
    • 2019-01-10
    • 2020-01-22
    • 2019-10-12
    • 1970-01-01
    相关资源
    最近更新 更多