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.