[R] error in an univariate integration involving a bivariate normal CDF
William Dunlap
wdunlap at tibco.com
Tue Jan 10 16:21:59 CET 2017
integrand=function(xx,y=1,MU=MU,Sigma=Sigma)
{
dnorm(xx,mean=MU[1],sd=sqrt(Sigma[1,1]))*pmvnorm(lower=c(-Inf,-Inf),upper=c(xx,y),mean=MU,sigma=Sigma)
}
The integrand must be a function that returns a vector the length of
its first argument (integrate will pass it a short vector of input
values). It looks like your function expects 'xx' to be a scalar.
You can use the Vectorize function to fix things up.
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Mon, Jan 9, 2017 at 3:28 PM, Jingqin luo via R-help
<r-help at r-project.org> wrote:
> R users,I encountered some error message when trying a univariate integration involving a bivariate normal CDF with mean MU and variance matrix Sigma. Below are my code:MU=c(1,3)
> Sigma=matrix(c(1,0.5,0.5,1.5),2,2)
> integrand=function(xx,y=1,MU=MU,Sigma=Sigma)
> {
> dnorm(xx,mean=MU[1],sd=sqrt(Sigma[1,1]))*pmvnorm(lower=c(-Inf,-Inf),upper=c(xx,y),mean=MU,sigma=Sigma)
>
> }
> integrate(integrand,y=1,MU=MU,Sigma=Sigma,lower=-Inf,upper=Inf,subdivisions=1000)gave : Error in checkmvArgs(lower = lower, upper = upper, mean = mean, corr = corr, : ‘diag(sigma)’ and ‘lower’ are of different length.The error came from the pmvnorm() part. I will appreciate any hints to this error.> sessionInfo()
> R version 3.3.1 (2016-06-21)
> Platform: x86_64-redhat-linux-gnu (64-bit)
> Running under: Red Hat Enterprise Linux Server release 6.2 (Santiago)
>
> locale:
> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
> [9] LC_ADDRESS=C LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] pbivnorm_0.6.0 ggplot2_1.0.0 pROC_1.8 copula_0.999-11
> [5] mvtnorm_1.0-0 lcmix_0.3 nnls_1.4 MASS_7.3-45
> [9] matrixStats_0.10.0 R.methodsS3_1.6.1 psych_1.6.9
>
> loaded via a namespace (and not attached):
> [1] Rcpp_0.12.1 munsell_0.4.2 mnormt_1.5-1 ADGofTest_0.3
> [5] colorspace_1.2-4 pspline_1.0-16 lattice_0.20-29 stringr_0.6.2
> [9] plyr_1.8.1 tcltk_3.3.1 tools_3.3.1 parallel_3.3.1
> [13] grid_3.3.1 gtable_0.1.2 digest_0.6.4 Matrix_1.1-4
> [17] reshape2_1.4 labeling_0.3 scales_0.2.4 gsl_1.9-10
> [21] stats4_3.3.1 stabledist_0.6-6 foreign_0.8-66 proto_0.3-10
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list