20 から 50 の間で 5 刻みで乱数を生成する必要があります。たとえば、数字は 20、25、30、25、50、45 などである必要があります。数字の差は 5 である必要があります。
私はこれを試しました:
x<-floor(runif(50,20,50))
これにより、20 から 50 の間の任意の数値が得られます。R でこれを行う簡単な方法はありますか?
20 から 50 の間で 5 刻みで乱数を生成する必要があります。たとえば、数字は 20、25、30、25、50、45 などである必要があります。数字の差は 5 である必要があります。
私はこれを試しました:
x<-floor(runif(50,20,50))
これにより、20 から 50 の間の任意の数値が得られます。R でこれを行う簡単な方法はありますか?
アルンはこれについて言及していたと思います:
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
元のコードと非常に似ていますが、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