Function gives numeric(0) for every input
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 <janssena at 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 at 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.