Well, you assign numeric(0) or numeric(0)+1, which is still numeric(0). No wonder the return value is always numeric(0).
You probably need to replace numeric(0) simply by 0. Numeric(0) does not mean 0, it means a numeric vector of length zero (i.e., empty). HTH, Peter On Sat, Nov 19, 2011 at 6:52 PM, alex_janssen <janss...@uoguelph.ca> wrote: > Hi, > > I am trying to code buffons needle in R for a class > > This is my code w/ output from R, if anyone could tell me why this is > happening it would be amazing, > > I can generate correct results without putting the steps into a function but > alas that is the assignment. >> buffon = function(n){ > + x = NULL > + theta = NULL > + a = NULL > + phat = numeric(0) > + i = 1 > + > + while ( i <= n){ > + x[i] <- runif(1,0,1/2) > + theta[i] <- runif(1,0,pi/2) > + a[i] <- 1/2 * (sin(theta[i])) - x[i] > + > + > + if (a[i] <= 0)phat <- phat + 1 > + else phat<-phat > + i <- i + 1 > + > + } > + return(phat) > + } >> buffon(10) > numeric(0) >> > Thanks Again > > the response should be the number of times a[i] is less than or equal to > zero, which i am calling phat > > -- > View this message in context: > http://r.789695.n4.nabble.com/Function-gives-numeric-0-for-every-input-tp4087834p4087834.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.