You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中基于指定规则生成300条随机数据

生成符合规则的300条随机数据

我们需要生成300条满足以下Class与Value区间对应关系的随机数据,且各类别的数据数量采用均等与不均等混合的方式:

ClassValue区间
01-8
19-11
212-14
315-16
417-20

实现代码(Python)

import random
import csv

# 定义每个Class对应的Value区间和分配数量(混合均等与不均等,总和300)
class_config = [
    {"class": 0, "min_val": 1, "max_val": 8, "count": 70},
    {"class": 1, "min_val": 9, "max_val": 11, "count": 60},
    {"class": 2, "min_val": 12, "max_val": 14, "count": 50},
    {"class": 3, "min_val": 15, "max_val": 16, "count": 40},
    {"class": 4, "min_val": 17, "max_val": 20, "count": 80}
]

# 生成随机数据
random_data = []
for config in class_config:
    for _ in range(config["count"]):
        value = random.randint(config["min_val"], config["max_val"])
        random_data.append({"Class": config["class"], "Value": value})

# 打印前10条示例数据
print("前10条数据示例:")
for row in random_data[:10]:
    print(f"    {row['Class']}   {row['Value']}")

# 可选:将数据保存为CSV文件
with open("random_data.csv", "w", newline="") as f:
    writer = csv.DictWriter(f, fieldnames=["Class", "Value"])
    writer.writeheader()
    writer.writerows(random_data)

代码说明

  • 数量分配:通过class_config里的count字段自定义每个类别的数据量,比如Class0分配70条、Class4分配80条,其他类别数量不同,实现了均等与不均等的混合需求。若要调整数量,直接修改count值即可,确保总和为300。
  • 随机值生成:使用random.randint()严格按照每个Class对应的区间生成整数随机值,完全符合规则要求。
  • 输出:既打印了前10条数据示例,也支持将所有数据保存为CSV文件,方便后续查看或处理。

内容的提问来源于stack exchange,提问作者user330

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:30:46