R语言从给定的分布函数中抽样
时间: 2024-12-19 14:13:58 浏览: 6
R语言中,从给定的分布函数中抽样通常使用内置的`sample()`函数或专门用于概率分布的包,比如`stats`, `mvtnorm`, `distributions`, 等。以下是几个常用的例子:
1. **从正态分布抽样**:
```r
set.seed(123) # 设置随机种子保证结果可复现
mean <- 0
sd <- 1 # 标准差
normal_samples <- rnorm(n = 100, mean = mean, sd = sd)
```
2. **从均匀分布抽样**:
```r
uniform_samples <- runif(n = 100, min = 0, max = 1)
```
3. **从泊松分布抽样**(使用`rpois()`函数):
```r
lambda <- 5 # 平均发生次数
pois_samples <- rpois(n = 100, lambda = lambda)
```
4. **从特定的概率密度函数(PDF)或累积分布函数(CDF)直接抽样**,可以先生成介于[0,1]之间的均匀分布样本,然后通过反函数计算出所需的分布样本:
- 对于连续分布,如`dnorm()`和`pnorm()`:
```r
u <- runif(n = 100)
norm_samples <- qnorm(p = u, mean = mean, sd = sd)
```
- 对于离散分布,可以使用`qbinom()`、`qdpois()`等函数。
记得在使用之前安装相应的包,如果需要的话。每个抽样函数的参数可能略有不同,具体请参考R的帮助文档。
阅读全文