[R] invalid arguments RUNIF
Erik Iverson
iverson at biostat.wisc.edu
Tue Jun 17 15:02:15 CEST 2008
Just a general comment, I have not looked at your code. You may want to
look at the Debugging R portion of the Introduction to R manual on CRAN.
There is also a graphical debugger from the 'debug' package on CRAN.
Either one of these will become immensely helpful in situations like this.
Yasin Hajizadeh wrote:
> Hi all
> I would be grateful you can help me with my problem.
> I try to run an optimization code . in one line I have runif in order to sample the PDF. I get this error while i run it.
>
> Error in runif(1, f$d[[n.of.u.vars + n.of.o.vars + j]][[2]][1], f$d[[n.of.u.vars + :
> invalid arguments
>
> Here is a part of that code:
>
>
> # initialize random numeber generator
> if (seed>0) set.seed(seed)
> # set parameters
> e.abs <- e
> e.rel <- e
> max.value <- f$opt
> eval <- 0
> last.impr <- max.eval;
> nl <- matrix(NA,k,k-1)
> iteration <- 0
> # separate unordered and ordered from continuous variables
> range.u <- vector()
> range.o <- vector()
> n.of.x.vars <- 0
> n.of.o.vars <- 0
> n.of.u.vars <- 0
> for (i in f$d) {
> if (i[[1]]=="u") {
> range.u <- c(range.u, length(i[[2]]))
> n.of.u.vars <- n.of.u.vars + 1
> }
> if (i[[1]]=="o") {
> range.o <- c(range.o, length(i[[2]]))
> n.of.o.vars <- n.of.o.vars + 1
> }
> if (i[[1]]=="x") {
> n.of.x.vars <- n.of.x.vars + 1
> }
> }
> # initialize variables
> max.u <- rep(NA,n.of.u.vars)
> max.o <- rep(NA,n.of.o.vars)
> max.X <- rep(NA,n.of.x.vars)
> max.y <- -Inf
> p.X <- vector()
> p.u <- vector()
> p.o <- vector()
> p <- data.frame(v=numeric(),sd=numeric(),gr=numeric());
> # randomly choose the starting population
> # (but based on the data given in the function definition)
> for (i in 1:k) {
> if (n.of.u.vars>0) {
> U <- vector()
> for (j in 1:n.of.u.vars) {
> U <- c(U, sample(range.u[j],1))
> }
> U <- t(U)
> }
> else U <- NULL
> if (n.of.o.vars>0) {
> O <- vector()
> for (j in 1:n.of.o.vars) {
> O <- c(O, sample(range.o[j],1))
> }
> O <- t(O)
> }
> X <- vector()
> for (j in 1:n.of.x.vars) {
> X <- c(X, runif(1,f$d[[n.of.u.vars+n.of.o.vars+j]][[2]][1],
> f$d[[n.of.u.vars+n.of.o.vars+j]][[2]][2]))
> }
> X <- t(X)
>
>
> Many Thanks
>
> Yasin
>
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list