在处理数据或者建模的时候有时候需要对以有数据进行排列组合, 有的时候需要生成模拟数据, R 中有不少很方便的函数可以使用.
生成数据
序列
- seq: seq 函数或者分号 ":", 可以直接生成一段数字向量, seq 的 by 参数可以控制间距, length 参数控制长度.
- gl: 生成一系列 factor, n 为 level 的个数, k 为每个 level 的重复, length 为 整个 factor 的长度, labels 为 level 的标签.
- expand.grid: 生成一个没有重复行的数据框, 不同的行的参数进行组合, 相当于笛卡尔积.
随机数
R 中有很多按照一定分布生成随机数的函数, 这些函数也有对应的生成概率密度函数等相关函数. 生成随机数的函数往往以 "r" 开头, 后面跟着分布的简写, 也有开头为 "d" 的对应 density 函数, 开头为 "p" 的 probability 函数 和 开头为 "q" 的 quantile 函数.
分布 | 随机数生成函数 | 概率密度 | 概率函数 | 值函数 |
---|---|---|---|---|
Beta | rbeta | dbeta | pbeta | qbeta |
Binomial | rbinom | dbinom | pbinom | qbinom |
Cauchy | rcauchy | dcauchy | pcauchy | qcauchy |
Chi-square | rchisq | dchisq | pchisq | qchisq |
Exponential | rexp | dexp | pexp | qexp |
F | rf | df | pf | qf |
Gamma | rgamma | dgamma | pgamma | qgamma |
Geometric | rgeom | dgeom | pgeom | qgeom |
Hypergeometric | rhyper | dhyper | phyper | qhyper |
Log Normal | rlnorm | dlnorm | plnorm | qlnorm |
Logistic | rlogis | dlogis | plogis | qlogis |
Multinomial | rmultinom | dmultinom | pmultinom | qmultinom |
Negative Binomial | rnbinom | dnbinom | pnbinom | qnbinom |
Normal | rnorm | dnorm | pnorm | qnorm |
Poisson | rpois | dpois | ppois | qpois |
Signed Rank | rsignrank | dsignrank | psignrank | qsignrank |
Student’s t | rt | dt | pt | qt |
Uniform | runif | dunif | punif | qunif |
Weibull | rweibull | dweibull | pweibull | qweibull |
Wilcoxon Rank Sum | rwilcox | dwilcox | pwilcox | qwilcox |