Generating Data
It's important to be able to generate data in a variety of ways for testing functions and for Monte Carlo methods.
Generating Curves
The code below will generate a normal curve. Note that this is not data from a normal distribution (that is in the next section).
First, we'll generate a vector containing a sequence of 200 numbers, equally spaced, from -4 to 4 and store it in x.
x=seq(-4,4,length=200)
Then, we can compute a normal value for each x value along a normal curve.
y=1/sqrt(2*pi)*exp(-x^2/2)
Now, we can plot x against y in a scatter plot. the "type" is a "line" with a "line width" of 2 and a "color" of red.
plot(x,y,type="l",lwd=2,col="red")
Try this code and make sure it works in R. Now try some other functions and try some different options for the "plot()" function.
This example is taken from: http://msenux.redwoods.edu/math/R/normal.php
Generating Random Data
"runif()" will generate random numbers in a uniform (flat) distribution. Run the code below and then examine the vector "x" which will contain 100 values from 0 to 1.
x=runif(100) # get the random numbers
You can histogram the values to check their distribution with the "hist()" function.
hist(x,probability=TRUE,col=gray(.9),main="Random Numbers from 0 to 1")
Now, lets create a vector of 100 values from 0 to 100.
y =seq(0,10,length=100)
We can multiple these vectors together to create a linearly increasing vector with some random noise.
z=x+y
Go ahead and plot the result against x.
plot(z,y)
Now, try other values for the random sequence and for the deterministic sequence.