From: <chr...@us...> - 2010-05-17 17:36:54
|
Revision: 155 http://bugs-r.svn.sourceforge.net/bugs-r/?rev=155&view=rev Author: chris-jackson Date: 2010-05-17 17:36:48 +0000 (Mon, 17 May 2010) Log Message: ----------- Better error handling. Don't try to run bugsInits() on the name of a non-existent file, and then generate initial values if none have been supplied. Modified Paths: -------------- trunk/BRugs/R/BRugsFit.R Modified: trunk/BRugs/R/BRugsFit.R =================================================================== --- trunk/BRugs/R/BRugsFit.R 2010-05-17 13:28:37 UTC (rev 154) +++ trunk/BRugs/R/BRugsFit.R 2010-05-17 17:36:48 UTC (rev 155) @@ -4,7 +4,7 @@ DIC = TRUE, working.directory = NULL, digits = 5, seed=NULL, BRugsVerbose = getOption("BRugsVerbose")){ - if(is.null(BRugsVerbose)) + if(is.null(BRugsVerbose)) BRugsVerbose <- TRUE op <- options("BRugsVerbose" = BRugsVerbose) on.exit(options(op)) @@ -19,21 +19,22 @@ if(!is.R()) on.exit(file.remove(modelFile), add = TRUE) } if(!file.exists(modelFile)) stop(modelFile, " does not exist") - if(file.info(modelFile)$isdir) stop(modelFile, " is a directory, but a file is required") + if(file.info(modelFile)$isdir) stop(modelFile, " is a directory, but a file is required") modelCheck(modelFile) if(!(is.vector(data) && is.character(data) && all(file.exists(data)))) - data <- bugsData(data, digits = digits) - modelData(data) + data <- bugsData(data, digits = digits) + modelData(data) modelCompile(numChains) - if(!is.null(seed)) modelSetSeed(newSeed=seed) - if(missing(inits)){ - modelGenInits() - } else { - if(is.list(inits) || is.function(inits) || (is.character(inits) && !any(file.exists(inits)))) - inits <- bugsInits(inits = inits, numChains = numChains, digits = digits) - if(BRugsVerbose) print(inits) - modelInits(inits) + if(!is.null(seed)) modelSetSeed(seed) + if(!missing(inits)){ + if(is.list(inits) || is.function(inits)) + inits <- bugsInits(inits = inits, numChains = numChains, digits = digits) + if (is.character(inits) && any(file.exists(inits))){ + if(BRugsVerbose) print(inits) + modelInits(inits) + } } + modelGenInits() samplesSetThin(nThin) modelUpdate(nBurnin) if(DIC){ @@ -44,6 +45,6 @@ modelUpdate(nIter) if(coda) return(buildMCMC("*")) - else + else return(list(Stats = samplesStats("*"), DIC = if(DIC) dicStats())) } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |