我要生成n
(样本大小)数量的5位随机整数,其具有以下要求:
我该怎么做?
更新
如何确保第一位数和第二位数中的数字1和2相等?我只想要n
。
答案 0 :(得分:2)
sample.int(2, n, TRUE) * 1e+4 +
sample.int(2, n, TRUE) * 1e+3 +
sample.int(999, n, TRUE)
其中n
是样本大小,例如100。
如何确保第一位数和第二位数中的数字1和2相等?我只想要
n
。
my5digits <- function (n) {
if (n %% 2) stop("n must be even!")
x1 <- sample(rep_len(c(1, 2), n))
x2 <- sample(x1)
x1 * 1e+4 + x2 * 1e+3 + sample.int(999, n, TRUE)
}
set.seed(0)
my5digits(10)
# [1] 11777 11934 21212 12652 22126 21267 22386 22014 12383 11869
答案 1 :(得分:0)
我们可以使用sample
和paste0
set.seed(505)
d1.group <- sample(c(1,2), 100, replace = TRUE) # first number denoting Group
d2.version <- sample(c(1,2), 100, replace = TRUE) # second number for version
d3.any <- sprintf("%03.0f", sample(sample(c(1,999), 100, replace = TRUE))) # last 3 ditigs
as.numeric(paste0(d1.group, d2.version, d3.any)) # put them altogether
[1] 11001 22001 11999 12999 11999 22999 11999 11001 11001 11001 11001 11001 11001 12001 22999 22001 22999 21999 12999 21001
[21] 12001 22001 11001 12999 12999 12001 11999 21001 22999 21001 22001 11001 22001 12999 22001 21001 21001 12999 12999 12001
[41] 12001 22999 11999 11999 22999 11999 21001 12999 22001 21999 21001 11999 11999 12999 21999 22999 22001 22001 22999 11001
[61] 11999 12001 22999 21999 11001 11999 11999 21999 22999 22999 11999 11999 21999 11001 12999 22001 11001 11999 21001 21999
[81] 11001 11999 12001 11001 22001 22001 21001 12999 12001 21999 21999 21999 11999 22999 11999 21001 12999 22001 21001 11999