RndPairs(n, r, rdist1 = rnorm(n = n, mean = 0, sd = 1),
rdist2 = rnorm(n = n, mean = 0, sd = 1))
RndWord(size, length, x = LETTERS, replace = TRUE, prob = NULL)
Arguments
n
number of pairs. If length(n) > 1, the length is taken to be the number required.
r
the correlation between the two sets.
rdist1, rdist2
the distribution of the random vector X1 and X2. Default is standard normal distribution.
size
a non-negative integer giving the number of artificial words to build.
length
a non-negative integer giving the length of the words.
x
elements to choose from.
replace
Should sampling be with replacement?
prob
a vector of probability weights for obtaining the elements of the vector being sampled.
Value
a data.frame with 2 columns, X1 and X2 containing the random numbers
Author(s)
Andri Signorell <andri@signorell.net>
See Also
runif, rnorm, Random and friends
Examples
# produce 100 pairs of a normal distributed random number with a correlation of 0.7
d.frm <- RndPairs(n=100, r=0.7)
plot(d.frm)
lines(lm(X2 ~ X1,d.frm))
# change the distribution
d.frm <- RndPairs(n=100, r=0.7, rdist2 = rlnorm(n = 100, meanlog = 1, sdlog = .8))
d.frm <- RndPairs(n=100, r=0.7, rdist2 = runif(n = 100, -1, 4))
x <- StrCap(sapply(sample(3:15, 10), function(i) RndWord(1, i, x=letters)))
# produce some artificial words with defined probabilities for the letters
p <- c(6.51,1.89,3.06,5.08,17.4,1.66,3.01,4.76,7.55,0.27,1.21,3.44,2.53,
9.78,2.51,0.79,0.02,7,7.27,6.15,4.35,0.67,1.89,0.03,0.04,1.13)
sapply(sample(3:15, 10), function(i) RndWord(1, i, x=letters, prob=p))
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(DescTools)
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/DescTools/RndPairs.Rd_%03d_medium.png", width=480, height=480)
> ### Name: RndPairs
> ### Title: Create Pairs of Correlated Random Numbers
> ### Aliases: RndPairs RndWord
> ### Keywords: distribution IO
>
> ### ** Examples
>
> # produce 100 pairs of a normal distributed random number with a correlation of 0.7
> d.frm <- RndPairs(n=100, r=0.7)
>
> plot(d.frm)
> lines(lm(X2 ~ X1,d.frm))
>
> # change the distribution
> d.frm <- RndPairs(n=100, r=0.7, rdist2 = rlnorm(n = 100, meanlog = 1, sdlog = .8))
> d.frm <- RndPairs(n=100, r=0.7, rdist2 = runif(n = 100, -1, 4))
>
> x <- StrCap(sapply(sample(3:15, 10), function(i) RndWord(1, i, x=letters)))
>
>
> # produce some artificial words with defined probabilities for the letters
> p <- c(6.51,1.89,3.06,5.08,17.4,1.66,3.01,4.76,7.55,0.27,1.21,3.44,2.53,
+ 9.78,2.51,0.79,0.02,7,7.27,6.15,4.35,0.67,1.89,0.03,0.04,1.13)
> sapply(sample(3:15, 10), function(i) RndWord(1, i, x=letters, prob=p))
[1] "eette" "entlbun" "iahhnsintn" "dhimeisgm"
[5] "tzgsdsegogath" "mwss" "aer" "nautdk"
[9] "aeirfaeedeearve" "ewmelntc"
>
>
>
>
>
> dev.off()
null device
1
>