在一定范围内选取7个数据

将一个固定范围划分为13个连续的小范围,运用R语言在这些范围中随机抽取7个不同的数据,并且这7个数据均不在同一个小范围内

方案来自 梦想橡皮擦 狂飙组基于 GPT 编写的 “程秘”


可以使用R语言的sample()函数随机抽取7个数据,并使用cut()函数将一个固定范围划分为13个连续的小范围。下面是一个示例代码:

# 定义固定范围
range <- 1:100

# 将固定范围划分为13个小范围
cutoff <- cut(range, breaks=13, labels=FALSE)

# 随机抽取7个数据
sampled_data <- sample(range, 7, replace=FALSE)

# 判断抽取的数据是否在同一个小范围内
while (length(unique(cutoff[sampled_data])) == 1) {
  sampled_data <- sample(range, 7, replace=FALSE)
}

# 输出结果
sampled_data

该代码使用while循环,直到抽取的7个数据不在同一个小范围内为止。最后,它会输出随机抽取的7个数据。

点击右侧采纳即可
sample()函数来随机抽取7个数据。

# 定义固定范围
range_start <- 1
range_end <- 100

# 定义每个小范围的长度
range_size <- (range_end - range_start + 1) / 13

# 创建13个连续的小范围
ranges <- split(1:100, ceiling(1:(range_end - range_start + 1) / range_size))

# 在这13个小范围中随机抽取7个不同的数据
result <- unlist(lapply(ranges, function(x) x[sample(1:length(x), 1)]))[1:7]


定义了固定范围,然后计算出每个小范围的长度,再使用split()函数将整个范围划分为13个小范围。最后,使用lapply()函数遍历这13个小范围,并在每个小范围中随机抽取一个数据,最终得到一个大小为7的结果数组。可以在函数内部改变随机抽取的数量。