Hi, can anyone help me with the following code?  Thanks!

library(mvtnorm)
f2 <- function(n, rho) {
var <- matrix(c(1,rho,rho,1), nrow=2, ncol=2, byrow=T)
beta <-  seq(0, 1, length.out=n+1)
alpha <- sort (sapply(1-beta, qnorm))
x <- array(0, dim=c(n, n))
for (s in 1:n) {
     for (t in 1:n){
        if (s>=t)
           x[s,t] <- pmvnorm(lower=c(alpha[s], alpha[t]),upper=c(alpha[s+1],
alpha[t+1]),  mean=c(0,0), corr=var)/(s*(s+1))
        else
           x[s,t] <- pmvnorm(lower=c(alpha[s], alpha[t]),upper=c(alpha[s+1],
alpha[t+1]), mean-c(0,0), corr=var)/(t*(t+1))
     } }

n*beta[2]-(n-1)*pmvnorm(lower=c(alpha[n-1],alpha[n-1]), upper=rep(Inf,2),
corr=var, mean=c(0,0))+n*(n-1)*sum(x) }

I got the error informatio as below if I want to calculate the value the
function for some specific parameters.

> f2(5, 0.1)
Error in checkmvArgs(lower = lower, upper = upper, mean = mean, corr =
corr,  :
  ‘diag(corr)’ and ‘lower’ are of different length

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to