7

20 から 50 の間で 5 刻みで乱数を生成する必要があります。たとえば、数字は 20、25、30、25、50、45 などである必要があります。数字の差は 5 である必要があります。

私はこれを試しました:

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

これにより、20 から 50 の間の任意の数値が得られます。R でこれを行う簡単な方法はありますか?

4

2 に答える 2

16

アルンはこれについて言及していたと思います:

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
于 2013-05-04T21:20:48.400 に答える
1

元のコードと非常に似ていますが、5 で除算して乗算し、1 ではなく 5 で丸めます。

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
于 2013-05-05T04:26:59.753 に答える