📅  最后修改于: 2023-12-03 15:34:36.175000             🧑  作者: Mango
R 是一种广泛使用的数据分析、统计建模和图形化呈现的编程语言。在 R 中,生成随机数是很常见的操作,这可以用于一系列的应用中,如 Monte Carlo 模拟、随机森林等。
R 语言中有许多内置的函数可以生成随机数。其中,runif
可以生成在区间 [0,1] 之间的均匀分布的随机数,而 rnorm
可以生成符合正态分布的随机数。
# 生成 5 个在 [0,1] 之间的随机数
runif(5)
# 生成符合正态分布的随机数
rnorm(5)
除了这两个函数,R 中还有许多类似的函数,如 rpois
(生成泊松分布的随机数)、rbeta
(生成 beta 分布的随机数)等等。这些函数的用法都比较简单,可以查阅相应的文档。
在生成随机数时,我们通常需要指定一个种子。这是因为计算机生成的随机数其实是伪随机数,其结果是根据当前种子计算出来的。如果不指定种子,那么每次运行生成随机数的代码时,得到的结果都会不同。
R 中可以使用 set.seed
函数来设置随机数种子。我们可以在生成随机数之前调用这个函数,从而确定生成的随机数序列。
set.seed(123) # 设置随机数种子为 123
rnorm(5)
set.seed(123) # 再次设置随机数种子为 123
rnorm(5)
上面的代码会得到两次相同的结果,因为我们在生成随机数之前都设置了相同的种子。
R 中的随机数可以应用到很多领域中。例如,我们可以用它来进行 Monte Carlo 模拟,求解一些复杂的数学问题,或者用于机器学习中的数据集划分等等。
除此之外,随机数在 R 中还可以应用到随机森林算法中。随机森林是一种集成学习算法,通过随机选择特征和样本来构建多个决策树,并将它们集成起来得到结果。在 R 中,我们可以使用 randomForest
包来实现随机森林算法。
# 安装 randomForest 包
install.packages("randomForest")
# 使用 iris 数据集训练一个随机森林分类器
library(randomForest)
data(iris)
rf_model <- randomForest(Species ~ ., data=iris)
rf_model # 输出模型信息
上面的代码会生成一个随机森林分类器,并输出相应的模型信息。我们可以用这个分类器来对新的数据进行分类预测。
R 中的随机数生成函数丰富,使用方便。在实际应用中,我们可以用随机数来进行 Monte Carlo 模拟、求解复杂的数学问题、进行数据集划分和构建随机森林等。熟练掌握随机数生成函数的使用,可以让我们在数据分析和数据建模中更加高效地工作。