如何在R中生成带序列的随机数

时间:2013-05-04 21:15:27

标签: r

我需要生成20到50之间的随机数,增量为5。例如,数字必须为20,25,30,25,50,45等。数字之间的差异应为5。

我试过了:

x<-floor(runif(50,20,50))

这给了我20到50之间的任何数字。在R中有一个简单的方法吗?

2 个答案:

答案 0 :(得分:14)

我认为阿伦指的是这个:

set.seed(123)
sample(seq(from = 20, to = 50, by = 5), size = 50, replace = TRUE)
#  [1] 30 45 30 50 50 20 35 50 35 35 50 35 40 40 20 50 25 20 30 50 50 40 40 50 40
# [26] 40 35 40 30 25 50 50 40 45 20 35 45 25 30 25 20 30 30 30 25 20 25 35 25 50

答案 1 :(得分:1)

与原始代码非常相似,但除以5乘以得到5的舍入而不是1。

floor(runif(50,20,50)/5)*5
 [1] 45 30 45 35 45 35 25 30 35 40 20 45 25 30 25 40 30 40 40 40 20 30 30 40 35 30 25 45 25 20 45 20 35 35 30 20 20 20 20 35 35 45 45 45 45 20
[47] 45 40 40 20