我需要生成20到50之间的随机数,增量为5。例如,数字必须为20,25,30,25,50,45等。数字之间的差异应为5。
我试过了:
x<-floor(runif(50,20,50))
这给了我20到50之间的任何数字。在R中有一个简单的方法吗?
答案 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