Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

corgen

Generate correlated data


Description

Generate correlated data of a given length.

Usage

corgen(len, x, r, population = FALSE, epsilon = 0)

Arguments

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.

Details

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.

Value

x

First data vector, either generated by corgen or given by the user.

y

Second data vector.

Author(s)

Sarah Goslee

Examples

# 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)

ecodist

Dissimilarity-Based Functions for Ecological Analysis

v2.0.7
GPL (>= 2)
Authors
Sarah Goslee [aut, cre], Dean Urban [aut]
Initial release
2020-08-26

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.