[R] Help with functions (iterations)
jim holtman
jholtman at gmail.com
Sun Sep 30 02:15:29 CEST 2007
I think this might be what you want:
ex1.fcn<-function(x){
h<-4/(1+x^2)
return(h)
}
my.pi <-
function(sample.size, sim.size, low, hi, func)
{
# create output vector
result <- numeric(sample.size)
for (i in seq(sample.size)){ # loop for 'sample.size' times
my.rand.x <- runif(sim.size, low, hi) # create random numbers
result[i] <- ((hi - low) / sim.size) * sum(func(my.rand.x))
}
return(result) # return the vector
}
pi.MC <- my.pi(100, 1000, 0, 1, ex1.fcn) # call the function
hist(pi.MC) # plot histogram
On 9/29/07, Letticia Ramlal <lramlal at claflin.edu> wrote:
> Hello:
> I am a bit confused by this problem. Can anyone give me some advice on this I would greatly appreciate it. Thank you for all your help.
>
> Need to create a for loop that saves the estimate of pi from each 0f 100 separate iterations and store it in a numeric vector (of length 100). The for loop should be placed in a function that allows the user to vary the sample size, the simulation size, the integration limits and the input function. In addition construct a histogram of the estimates and include a red vertical line at pi.
>
> ex1.fcn<-function(x){
> h<-4/(1+x^2)
> return(h)
> }
> n=1000
> a=0
> b=1
> my.rand.x=runif(n,min=a,max=b)
> pi.MC = ((b-a)/n)*sum(ex1.fcn(my.rand.x))
>
>
> ______________________________________________
> 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.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem you are trying to solve?
More information about the R-help
mailing list