设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2797|回复: 1

R中随机数的产生与数据抽样

[复制链接]

7

主题

33

金钱

58

积分

新手用户

发表于 2020-1-8 15:16:26 | 显示全部楼层 |阅读模式

在R中有两个函数可以行使类似于Excel中Randbetween()函数的功能,即随机产生一定范围内的数据,或随机抽出一个已知数据集中的样本。

一. 函数Runif()
他的基本语法规则:需要产生的数据数量,最小值,最大值。例如,如果我们需要生成180-240之间的30个数据,就可以通过以下命令达成:
> runif(30,180,240)
192.0022 192.2006 204.1107 221.1253 215.9604 192.2225 235.2146 193.4423 201.3691 208.7605 194.1644 188.8166 226.0488 224.2215 221.4348 222.1139 187.4835 232.1733 225.8749 239.6179 221.8876 226.5466 205.5781 220.3698 223.6541 201.1689 198.7014 203.8504 223.4464 228.6505

如果想要整数,不要小数点后的数字,则需要再套上一层函数ROUND():
> round(runif(30,180,240))
183 180 224 225 209 210 234 205 196 196 234 216 200 190 186 192 219 239 201 232 210 218 200 225 197 237 190 240 207 223

二. 函数sample
顾名思义是样本的意思。它的基本语法规则是:要取样的数据集,取样个数,去重与否。例如,如果我们需要从1:10个数字之间取6个随机样本,不去重,就可以通过以下命令达成:
> sample(1:10,6,replace=T)
3 2 3 4 2 7

如果要去重,则把replace参数改为False:
> sample(1:10,6,replace=F)
7 6 2 1 4 5

End.

24

主题

704

金钱

2709

积分

中级用户

发表于 2021-6-13 08:56:02 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表