Generate correlated data
Generate correlated data of a given length.
corgen(len, x, r, population = FALSE, epsilon = 0)
len |
Length of vectors. |
x |
Independent data. If x is specified, the population parameter is automatically set to TRUE. |
r |
Desired correlation between data vectors. |
population |
TRUE for vectors drawn from two populations with correlation r, otherwise r is the sample correlation. |
epsilon |
Desired tolerance. |
Either x or len must be specified. If epsilon = 0, it has no effect, otherwise the sampling process is repeated until the sample correlation is within epsilon of r. This option allows the production of exactly-correlated data, within the limits of epsilon. Setting epsilon > 0 invalidates the population setting; data will be correlated within that range, rather than sampled from that population.If epsilon = 0, it has no effect, otherwise the sampling process is repeated until the sample correlation is within epsilon of r. This option allows the production of exactly-correlated data, within the limits of epsilon. Setting epsilon > 0 invalidates the population setting; data will be correlated within that range, rather than sampled from that population.If epsilon = 0, it has no effect, otherwise the sampling process is repeated until the sample correlation is within epsilon of r. This option allows the production of exactly-correlated data, within the limits of epsilon. Setting epsilon > 0 invalidates the population setting; data will be correlated within that range, rather than sampled from that population.
x |
First data vector, either generated by corgen or given by the user. |
y |
Second data vector. |
Sarah Goslee
# create two random variables of length 100 with correlation # of 0.10 +/- 0.01 xy <- corgen(len=100, r=.1, epsilon=0.01) with(xy, cor(x, y)) # create two random variables of length 100 drawn from a population with # a correlation of -0.82 xy <- corgen(len=100, r=-0.82, population=TRUE) with(xy, cor(x, y)) # create a variable y within 0.01 of the given correlation to x x <- 1:100 y <- corgen(x=x, r=.5, epsilon=.01)$y cor(x, y)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.