随机数的种类又很多,包括标准正态分布随机数、伯努利随机数等。
我们简单介绍一些产生随机数的方法
(一)均匀分布随机数
# 生成n个介于0和1之间的随机数
n = 10
random_uniform = runif(n)
print(random_uniform)
# 生成n个介于5和10之间的随机数
random_uniform_range = runif(n, min = 5, max = 10)
print(random_uniform_range)
(二)正态分布随机数
# 生成n个均值为0,标准差为1的正态分布随机数
random_normal <- rnorm(10)
print(random_normal)
# 生成n个均值为10,标准差为2的正态分布随机数
random_normal_custom <- rnorm(10, mean = 10, sd = 2)
print(random_normal_custom)
#生成多元正态分布随机数
#首先确保安装‘MASS’包
#安装‘MASS’包
install.packages("MASS")
#加载‘MASS’包
library(MASS)
#生成n个p维多元正态分布的随机数
n = 10
p = 2
mu = c(1,2)
sigma = matrix(c(1,2,2,1),nrow = p,byrow = TRUE)
#byrow=TRUE表示数据按行填充,反之byrow=FALSE表述数据按列填充
random_multivariate <- mvrnorm(n = 100, mu = mu, Sigma = sigma)
(三)生成离散型随机数
# 从1到10中随机选择n个数字
n = 10
random_sample = sample(1:10, n)
print(random_sample)
# 从1到10中随机选择n个数字(允许重复)
random_sample_with_replacement = sample(1:10, n, replace = TRUE)#replace=FALSE表示不重复抽样
print(random_sample_with_replacement)
# 随机打乱一个序列
random_shuffle = sample(1:10)
print(random_shuffle)
(四)生成二项分布随机数
# 生成n个来自二项分布的随机数
n = 10
random_binomial = rbinom(10, size = 1, prob = 0.5)
print(random_binomial)
(五)生成泊松分布随机数
# 生成n个来自泊松分布的随机数(lambda=3)
n = 10
random_poisson <- rpois(n, lambda = 3)
print(random_poisson)
(六)生成T分布随机数
# 生成n个自由度为3的T分布随机数
n = 100
random_t_low_df <- rt(n, df = 3)
生成各种分布的随机数方法还有很多,这只是一些简单的生成方式,仅供参考。