楼主: bangmingshaw
13959 7

[问答] R如何生成一定范围内的随机数? [推广有奖]

  • 0关注
  • 1粉丝

硕士生

67%

还不是VIP/贵宾

-

威望
0
论坛币
1185 个
通用积分
4.3501
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2509 点
帖子
95
精华
0
在线时间
201 小时
注册时间
2010-5-13
最后登录
2025-2-14

楼主
bangmingshaw 发表于 2016-11-17 16:51:08 |AI写论文
5论坛币
目前知道rnorm(50,mean=20,sd=2)之类的方法,但问题是如何确定范围?比如规定最小值为多少,最大值为多少,甚至中位数等?

最佳答案

止水之涯 查看完整内容

runif(n,min=min,max=max) n表示随机数的个数,min、max分别表示最小值、最大值。
关键词:随机数 mean Norm 最大值 最小值 中位数 最大值 如何

沙发
止水之涯 发表于 2016-11-17 16:51:09
runif(n,min=min,max=max)

n表示随机数的个数,min、max分别表示最小值、最大值。

藤椅
colinxf 学生认证  发表于 2016-11-17 17:05:51
随机产生一组数据,从中在随机截取。感觉你这样做出来的数据不是随机,而是有目的的在挑选

板凳
bangmingshaw 发表于 2016-11-17 17:37:56
止水之涯 发表于 2016-11-17 17:13
runif(n,min=min,max=max)

n表示随机数的个数,min、max分别表示最小值、最大值。
那能否生成其他分布的呢?同样是在min和max的范围内。

报纸
cheetahfly 在职认证  发表于 2016-11-17 18:42:42
如果对随机产生的分布进行截尾(你还要双向),有可能对该分布的第一、第三阶中心矩没有太大影响,但肯定对第二、第四阶中心矩有显著影响,因此该分布已经改变了,不是原来的分布了,这一点要明确。
不知道你为何要这样做,不过既然已经不是原来的分布了,不如你产生了随机数后手工截尾。

地板
语纪阚 发表于 2019-5-28 08:38:18
cheetahfly 发表于 2016-11-17 18:42
如果对随机产生的分布进行截尾(你还要双向),有可能对该分布的第一、第三阶中心矩没有太大影响,但肯定对 ...
你好,请问如何手工截尾呢?代码可否实例一下

7
cheetahfly 在职认证  发表于 2019-5-29 08:33:20
语纪阚 发表于 2019-5-28 08:38
你好,请问如何手工截尾呢?代码可否实例一下
vec <- vec[vec <= 最大值 & vec >= 最小值]

8
语纪阚 发表于 2019-6-7 09:22:27
cheetahfly 发表于 2019-5-29 08:33
vec
谢谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 21:27