Hi, You've got several things going on here.
On Mon, Jul 11, 2011 at 3:39 PM, fre <fre_stam...@hotmail.com> wrote: > Hello everyone, > > I have a (small) issue. I already googled a lot, so I decided to use ifelse > instead of if (){} else{} > > All the elements seem to work seperately, but combined in the ifelse > statement, it doesn't seem to work. > > #The price function is a function which is normally distributed with only > positive answers > price<-function() {abs(rnorm(1,10,25))} > > #Before I use pieceprice in the ifelse, I need it to be defined > pieceprice<-cbind() This isn't true. You aren't passing pieceprice to your function, so you don't need to define it first. So you are creating an empty object pieceprice here. > #Now I define a function with an ifelse statement. So if the binomial > deviation returns one, I add a 'new' price() to the pieceprice vector else I > repeat the last element of the pieceprice vector and add it to pieceprice. > pricechange<-function() > {ifelse(rbinom(1,1,2/3)==1, > pieceprice<-cbind(pieceprice,price()), > pieceprice<-cbind(pieceprice,pieceprice[1,length(pieceprice)]))} > > #But now if I try this (Even with rbinom(1,1,1), pieceprice remains NULL > pricechange() > pieceprice > Now you're doing some stuff in your function, and returning a value. >> pricechange() > [1] 79.20426 But you're not assigning your value to anything, so it's being printed in the screen. Assigning it *within the function* by design and default does not change anything in the outer environment. >> pieceprice > NULL You didn't change pieceprice, so it hasn't changed. pieceprice <- pricechange() will run the function and assign its output to the object pieceprice, which doesn't have to already exist. > > I hope someone has a clue what's wrong. > > Thanks a lot for your help! Leaving aside the utility of functions that only ever return one possible value, you would probably benefit from reading some introductory material on writing functions. Sarah -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.