<font face="Vorgabe Sans Serif,Verdana,Arial,Helvetica,Sans-Serif" size="2"><div>Hi<br><br>thanks a lot for this!! I'll have a look at it.<br><br>cheers<br><br>Beni<br></div><font color="#990099">-----users-bounces@admb-project.org schrieb: -----<br><br></font><blockquote style="border-left: 2px solid #000000; padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">An: Benedikt Gehr <a class="moz-txt-link-rfc2396E" href="mailto:benedikt.gehr@ieu.uzh.ch"><benedikt.gehr@ieu.uzh.ch></a><br>Von: John Sibert <a class="moz-txt-link-rfc2396E" href="mailto:sibert@hawaii.edu"><sibert@hawaii.edu></a><br>Gesendet von: <a class="moz-txt-link-abbreviated" href="mailto:users-bounces@admb-project.org">users-bounces@admb-project.org</a><br>Datum: 01.06.2010 21:36<br>Kopie: <a class="moz-txt-link-abbreviated" href="mailto:users@admb-project.org">users@admb-project.org</a><br>Betreff: Re: [ADMB Users] running admb from R using system()<br><br><font face="Courier New,Courier,Feste Breite" size="3">Have a look at the R object .Platform. It enables you check whether R is <br>running under windoze. This his how we solve the problem with kftrack <br>package. cmd is a string containing the fully qualified path of the file <br>you want to execute.<br><br>sys<-function (cmd)<br>if (.Platform$OS.type == "windows") {<br>     shell(cmd, invisible = TRUE)<br>} else {<br>     system(cmd)<br>}<br><br>Of course some error checking would be nice. System (and I guess shell, <br>too) returns a value that can be checked so that it is possible to exit <br>gracefully.<br><br>On 06/01/2010 02:46 AM, Benedikt Gehr wrote:<br>> thanks for all the help. I simply exchanged the system() command with <br>> shell() command while keeping everything else equal, and now it worked <br>> and R doesn't crash anymore.<br>> Not sure what the problem was.<br>><br>> Mark, I appreciate sending me the code but I think this code is a bit <br>> to advanced for me, I didn't really understand the code and how to <br>> apply it to my problem. I'm not that experienced but maybe I have to <br>> look at it for longer. but for now I think it works with shell().<br>><br>> thanks anyway<br>><br>> cheers<br>><br>> Beni<br>><br>> Mark Maunder wrote:<br>>><br>>> Here is the whole code if you want the see the details<br>>><br>>><br>>><br>>> lwmreg.admb<-function(x,y,rtype="regression",ams=1000000,gbs=100000000,cbs=100000000,maxfn=500,thetaphz=1,thetainit=1,exedr) <br>>><br>>><br>>> {<br>>><br>>> #Modified from glmm.admb orignially written by Hans Julius Skaug<br>>><br>>> #written by Mark maunder<br>>><br>>> #need to put executable file in the working directory<br>>><br>>> #This needs to be a directory with no spaces in the name<br>>><br>>> #for example c:\test\<br>>><br>>> #use this command to set working directory setwd("C:/test")<br>>><br>>><br>>><br>>>     ams<-as.integer(ams)<br>>><br>>>     gbs<-as.integer(gbs)<br>>><br>>>     cbs<-as.integer(cbs)<br>>><br>>>     nn <- nrow(x)<br>>><br>>>     p <- ncol(x)<br>>><br>>><br>>><br>>>     if (!(nn == length(y)))<br>>><br>>>         stop("x and y not same length")<br>>><br>>>     if (missing(exedr) )<br>>><br>>>         stop("Need to give directory for execuitable")<br>>><br>>>     if (!file.exists(paste(exedr,"lwmreg.exe",sep="")))<br>>><br>>>         stop("Cant find execuitable")<br>>><br>>><br>>><br>>>     cmdoptions = paste("-maxfn",maxfn,"-ams",ams,"-gbs",gbs,"-cbs",cbs)<br>>><br>>>     file_name = "lwmreg"<br>>><br>>><br>>><br>>>     if(p==1) phz<--1<br>>><br>>>     else phz<-c(-1,rep(1,p-1))<br>>><br>>><br>>><br>>>     if(rtype=="regression") rt<-1<br>>><br>>>     else<br>>><br>>>     {<br>>><br>>>     if (rtype=="average") rt<-0<br>>><br>>>     else stop("rtype= regression or average")<br>>>     }<br>>><br>>><br>>><br>>><br>>>     dat_list = list(rtype = rt, p = p,phz=phz, thetaphz=thetaphz, n = <br>>> nn,x = x, y = y)<br>>><br>>>     pin_list = list(theta=thetainit,lnlambda=rep(0,p))<br>>><br>>><br>>><br>>>     dat_write(file_name, dat_list)<br>>><br>>>     pin_write(file_name, pin_list)<br>>><br>>>     std_file = paste(file_name, ".std", sep = "")<br>>><br>>>     file.remove(std_file)<br>>><br>>>     if (.Platform$OS.type == "windows") {<br>>><br>>>         shell(paste(exedr, file_name,<br>>><br>>>             ".exe", " ", cmdoptions, sep = ""), invisible = TRUE)<br>>><br>>>     }<br>>><br>>>     else {<br>>><br>>>         system(paste("cp ", exedr,<br>>><br>>>             file_name, " .", sep = ""))<br>>><br>>>         system(paste("./", file_name, " ", cmdoptions, sep = ""))<br>>><br>>>         unlink(file_name)<br>>><br>>>     }<br>>><br>>>     if (!file.exists(std_file))<br>>><br>>>         stop("The function maximizer failed")<br>>><br>>><br>>><br>>>     out<-read.fit(file_name)<br>>><br>>>     out<-c(out,reptoRlist(paste(file_name, ".rep",sep="")))<br>>><br>>><br>>><br>>>     if (abs(out$maxgrad) >= 0.001)<br>>><br>>>         warning("Proper convergence could not be reached gradiant >= <br>>> 0.001")<br>>><br>>>     return(out)<br>>><br>>> }<br>>><br>>><br>>><br>>><br>>><br>>><br>>><br>>> Mark Maunder<br>>><br>>> Head of the Stock Assessment Program<br>>><br>>> Inter-American  Tropical Tuna Commission<br>>> 8604 La Jolla Shores Drive<br>>> La Jolla, CA, 92037-1508, USA<br>>>   Tel: (858) 546-7027<br>>> Fax: (858) 546-7133<br>>> <a class="moz-txt-link-abbreviated" href="mailto:mmaunder@iattc.org">mmaunder@iattc.org</a> <<a href="mailto:mmaunder@iattc.org">mailto:mmaunder@iattc.org</a>><br>>> <a href="http://www.fisheriesstockassessment.com/TikiWiki/tiki-index.php?page=Mark+Maunder">http://www.fisheriesstockassessment.com/TikiWiki/tiki-index.php?page=Mark+Maunder</a> <br>>><br>>><br>>><br>>><br>>> Visit the AD Model Builder project at<br>>>  <a href="http://admb-project.org/">http://admb-project.org/</a><br>>><br>>><br>>><br>>> See the following website for information on fisheries stock assessment<br>>><br>>> <a href="http://www.fisheriesstockassessment.com/">http://www.fisheriesstockassessment.com/</a><br>>><br>>><br>>><br>>> *From:* Nathan Taylor [<a href="mailto:n.taylor@fisheries.ubc.ca">mailto:n.taylor@fisheries.ubc.ca</a>]<br>>> *Sent:* Monday, May 31, 2010 10:00 AM<br>>> *To:* Mark Maunder; Benedikt Gehr; <a class="moz-txt-link-abbreviated" href="mailto:users@admb-project.org">users@admb-project.org</a><br>>> *Subject:* RE: [ADMB Users] running admb from R using system()<br>>><br>>><br>>><br>>> It's much less elegant than Mark's code because directories and model <br>>> names are hard wired but for multiple instances such as multiple mcmc <br>>> chains, i've been successful using system() as shown below (64 bit <br>>> windows, R version 2.11.0).<br>>><br>>> setwd("dirname1")<br>>> system("model <br>>> -commandoptions",wait=F,show.output.on.console=F,invisible=F)<br>>><br>>> setwd("dirname2")<br>>> system("model <br>>> -commandoptions",wait=F,show.output.on.console=F,invisible=F)<br>>><br>>><br>>> It's been a while since i set this up but remember having some issues <br>>> with the show.output.on.console option using system().  The default <br>>> for this option is show.output.on.console = TRUE.<br>>><br>>> good luck.<br>>><br>>> NG<br>>><br>>> -----Original Message-----<br>>> From: <a class="moz-txt-link-abbreviated" href="mailto:users-bounces@admb-project.org">users-bounces@admb-project.org</a> on behalf of Mark Maunder<br>>> Sent: Mon 31/05/2010 9:08 AM<br>>> To: Benedikt Gehr; <a class="moz-txt-link-abbreviated" href="mailto:users@admb-project.org">users@admb-project.org</a><br>>> Subject: Re: [ADMB Users] running admb from R using system()<br>>><br>>> Try this<br>>><br>>>    if (.Platform$OS.type == "windows") {<br>>>         shell(paste(exedr, file_name,<br>>>             ".exe", " ", cmdoptions, sep = ""), invisible = TRUE)<br>>>     }<br>>>     else {<br>>>         system(paste("cp ", exedr,<br>>>             file_name, " .", sep = ""))<br>>>         system(paste("./", file_name, " ", cmdoptions, sep = ""))<br>>>         unlink(file_name)<br>>>     }<br>>><br>>><br>>><br>>> Mark Maunder<br>>> Head of the Stock Assessment Program<br>>> Inter-American  Tropical Tuna Commission<br>>> 8604 La Jolla Shores Drive<br>>> La Jolla, CA, 92037-1508, USA<br>>><br>>> Tel: (858) 546-7027<br>>> Fax: (858) 546-7133<br>>> <a class="moz-txt-link-abbreviated" href="mailto:mmaunder@iattc.org">mmaunder@iattc.org</a><br>>> <a href="http://www.fisheriesstockassessment.com/TikiWiki/tiki-index.php?page=Mar">http://www.fisheriesstockassessment.com/TikiWiki/tiki-index.php?page=Mar</a><br>>> k+Maunder<br>>><br>>> Visit the AD Model Builder project at<br>>>  <a href="http://admb-project.org/">http://admb-project.org/</a><br>>><br>>> See the following website for information on fisheries stock assessment<br>>> <a href="http://www.fisheriesstockassessment.com/">http://www.fisheriesstockassessment.com/</a><br>>><br>>> -----Original Message-----<br>>> From: <a class="moz-txt-link-abbreviated" href="mailto:users-bounces@admb-project.org">users-bounces@admb-project.org</a><br>>> [<a href="mailto:users-bounces@admb-project.org">mailto:users-bounces@admb-project.org</a>] On Behalf Of Benedikt Gehr<br>>> Sent: Monday, May 31, 2010 1:44 AM<br>>> To: <a class="moz-txt-link-abbreviated" href="mailto:users@admb-project.org">users@admb-project.org</a><br>>> Subject: [ADMB Users] running admb from R using system()<br>>><br>>> Hi<br>>><br>>> I'm trying to run an admb model from R by using the system () command.<br>>> The admb model runs fine when running it from the admb command line or<br>>> when using emacs. However when I try it with system() then R crashes<br>>> every time.<br>>> And I tried using the R command line and RGui and in both it crashes. I<br>>> also tried it from different computers.<br>>><br>>> What I do is I first set the directory where I keep the admb template<br>>> file with the corresponding admb data file and then invoke the system<br>>> command either step by step or directly. I can build the model but when<br>>> executing the model.exe file R crashes.<br>>><br>>> ##########################<br>>> #setting the working directory<br>>> setwd("Documents and Settings\\Beni User\\Desktop\\Transfer\\Model<br>>> Fournier\\admb models\\simulated data\\stochastic\\pooled age classes")<br>>><br>>> #building the model -> this works fine<br>>> system('makeadm stocpool')<br>>><br>>> #running the model -> makes R crash<br>>> system('stoc.exe')<br>>> ###########################<br>>> #or directly like this:<br>>> setwd("Documents and Settings\\Beni User\\Desktop\\Transfer\\Model<br>>> Fournier\\admb models\\simulated data\\stochastic\\pooled age classes")<br>>> system("./stocpool") -> makes R crash right away<br>>><br>>><br>>> Does anyone know why this happens and how I can make this work?<br>>><br>>> Thanks a lot for the help!!<br>>><br>>> cheers<br>>><br>>> Beni<br>>><br>>><br>>><br>>><br>>><br>>> _______________________________________________<br>>> Users mailing list<br>>> <a class="moz-txt-link-abbreviated" href="mailto:Users@admb-project.org">Users@admb-project.org</a><br>>> <a href="http://lists.admb-project.org/mailman/listinfo/users">http://lists.admb-project.org/mailman/listinfo/users</a><br>>> _______________________________________________<br>>> Users mailing list<br>>> <a class="moz-txt-link-abbreviated" href="mailto:Users@admb-project.org">Users@admb-project.org</a><br>>> <a href="http://lists.admb-project.org/mailman/listinfo/users">http://lists.admb-project.org/mailman/listinfo/users</a><br>>><br>> _______________________________________________<br>> Users mailing list<br>> <a class="moz-txt-link-abbreviated" href="mailto:Users@admb-project.org">Users@admb-project.org</a><br>> <a href="http://lists.admb-project.org/mailman/listinfo/users">http://lists.admb-project.org/mailman/listinfo/users</a><br>><br><br>-- <br>John Sibert<br>Emeritus Researcher, SOEST<br>University of Hawaii at Manoa<br><br>Visit the ADMB project <a href="http://admb-project.org/">http://admb-project.org/</a><br><br>_______________________________________________<br>Users mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:Users@admb-project.org">Users@admb-project.org</a><br><a href="http://lists.admb-project.org/mailman/listinfo/users">http://lists.admb-project.org/mailman/listinfo/users</a><br></font> </blockquote><br></font> <br/>