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]]
______________________________________________
[email protected] 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.