On 21/04/11 09:59, li li wrote:
Dear all, I wrote the following function previously. It worked fine with the old mvtnorm package. Somehow with the updated package, I got a error message when trying to use the function. I need some help. It is sort of urgent. Can anyone please take a look. The function is the following. Thank you very much! Hannah
(1) In the first instance you should probably contact the maintainer of the mvtnorm package: require(utils) maintainer("mvtnorm") (2) The code you enclosed indicates that you don't understand anything about functions. You have m, rho, k, and alpha given as *arguments* to your function, and yet you specify them explicitly within the body of the function. This makes no sense at all. If you are going to do something it pays to *understand* what you are doing rather than just slapping down some code at random and hoping that it will work. Delete the first four (non-blank!) lines of your code and then call cc_f(10,0.1,2,0.5) This does indeed throw an error --- from uniroot(). As I say, contact the package maintainer. cheers, Rolf Turner
library(mvtnorm) cc_f<- function(m, rho, k, alpha) { m<- 10 rho<- 0.1 k<- 2 alpha<- 0.05 cc_z<- numeric(m) var<- matrix(c(1,rho,rho,1), nrow=2, ncol=2, byrow=T) for (i in 1:m){ if (i<= k) {cc_z[i]<- qmvnorm((k*(k-1))/(m*(m-1))*alpha, tail="upper", sigma=var)$quantile} else {cc_z[i]<- qmvnorm((k*(k-1))/((m-i+k)*(m-i+k-1))*alpha, tail ="upper", sigma=var)$quantile} } cc<- 1-pnorm(cc_z) return(cc) }
______________________________________________ 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.