My code doesn't give that error so you must have done something differently -- without seeing your code, I can't tell you what though.
Also, please cc the list on follow-up if you are seeking further help. I'm not particularly knowledgeable about rpanel and others might be able to give concrete help. Michael On Sun, Mar 11, 2012 at 9:42 AM, James Carey <james.jism.ca...@gmail.com> wrote: > I have made the changes recommended but now I am getting the following > error: > > Error in index > 100 : > comparison (6) is possible only for atomic and list types > > I have an if statement in the body of the while() to only calculate the > values once 100 steps have been passed so I am guessing this is the cause of > this error. > > On Sun, Mar 11, 2012 at 1:57 AM, R. Michael Weylandt > <michael.weyla...@gmail.com> wrote: >> >> Your immediate problem seems to be that you use "sum" as a variable >> name when it is also a function name. You also have scoping issues >> that result from how you're using with() -- if you don't return an >> object, it gets thrown away after the with() function is done (part of >> the functional paradigm) -- I've started to clean this up a little, >> but it now bumps up against the fact you don't return things in the >> rpanel bits -- I don't really use that package much but hopefully this >> gets you going in the right way: >> >> main <- function(panel) { >> SUM <- with(panel,{ >> LAST = 1100 >> START = 0 >> INDX = 0 #### Starting Conditions >> revenue = 0 >> minStock = panel$minStock >> maxStock = 100 >> inventory = 100 >> order_costs = 0 >> storage_costs = 0 >> orderlevel = k >> SUM = list(ninventory = inventory, >> order_costs = 0, >> storage_costs = 0, >> revenue = 0, >> index = INDX) >> # initial list containing values >> >> while(SUM$index < LAST && inventory >0) { >> SUM$order_costs = SUM$order_costs + order_costs >> SUM$storage_costs = SUM$storage_costs + storage_costs >> SUM$ninventory = SUM$ninvenotry + inventory >> >> SUM$index = SUM$index + 1 >> } >> SUM >> }) >> print(SUM) >> sis = list(Time = SUM$index, >> StorageCosts=SUM$storage_costs, >> OrderCosts = SUM$order_cost, >> fInventory = SUM$ninventory) >> print(sis) >> return(sis) >> } >> >> panel <- rp.control(title="Stochastic Case") >> rp.button(panel,action=main,title="Calculate") >> rp.slider(panel,k,from=10,to=90,resolution=10,showvalue=TRUE,title="Select >> Order Size",initval=70) >> rp.slider(panel,minStock,from=10,to=90,resolution=10,initval= >> 50,title="Minimum Stock Level",showvalue=TRUE) >> >> >> Note also that "index" is a function so you need to be smart in how >> you use that name. >> >> Michael >> >> On Fri, Mar 9, 2012 at 6:59 AM, jism7690 <james.jism.ca...@gmail.com> >> wrote: >> > Hi Michael, >> > >> > Thank you for your reply. I have uploaded the minimum, I have left out >> > the >> > formulas for calculating the amounts as they are not important to the >> > loop. >> > Basically I have a while loop running that adds to the list of values >> > and >> > then outside this loop I have a list called sis, this is the list that >> > is >> > causing the error. I would like this list to return the values with >> > panel, >> > before I used rpanel it was returning values perfectly. >> > >> > Thanks >> > >> > main <- function(panel) >> > { >> > with(panel,{ >> > >> > LAST = 1100 >> > START = 0 >> > index = 0 #### Starting Conditions >> > revenue = 0 >> > minStock = panel$minStock >> > maxStock = 100 >> > inventory = 100 >> > order_costs = 0 >> > storage_costs = 0 >> > orderlevel =panel$k >> > sum = >> > list(ninventory=inventory,order_costs=0,storage_costs=0,revenue = 0) >> > # initial list containing values >> > >> > while(index < LAST && inventory >0) { >> > >> > sum$order_costs = sum$order_costs + order_costs >> > sum$storage_costs = sum$storage_costs + storage_costs >> > sum$ninventory = sum$ninvenotry + inventory >> > >> > >> > index = index + 1 >> > >> > } >> > }) >> > sis = list(Time = >> > index,StorageCosts=sum$storage_costs,OrderCosts= >> > sum$order_cost,fInventory = sum$ninventory) >> > return(sis) >> > } >> > >> > >> > panel <- rp.control(title="Stochastic Case", size=panel.size) >> > rp.button(panel,action=main,title="Calculate",pos=pos.go.button) >> > >> > rp.slider(panel,k,from=10,to=90,resolution=10,showvalue=TRUE,title="Select >> > Order Size",pos=pos.order.slider,initval=70) >> > >> > rp.slider(panel,minStock,from=10,to=90,resolution=10,pos=pos.minstock.slider,initval >> > = 50,title="Minimum Stock Level",showvalue=TRUE) >> > >> > >> > >> > -- >> > View this message in context: >> > http://r.789695.n4.nabble.com/rpanel-list-error-tp4457308p4459254.html >> > Sent from the R help mailing list archive at Nabble.com. >> > >> > ______________________________________________ >> > 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. > > ______________________________________________ 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.