模拟家庭收入、区域、年龄、血压及多属性的大规模数据集生成的R代码和一份10000人数据集,可以用于学习机器学习
立即下载
资源介绍:
本R代码示例展示了如何生成一个包含一万条记录的模拟数据集,该数据集包括多种社会经济和健康相关的属性。此数据集的生成旨在为研究人员、数据科学家和学生提供一个多属性的数据样本,以用于统计分析、机器学习建模或其他数据科学任务。
在此代码中,我们通过设置随机种子(set.seed)来确保生成的数据是可重复的。样本数量(n)被设定为10000,生成的数据集包含以下属性:
Income(家庭收入):家庭收入随机分布在3万到15万美元之间,模拟不同收入水平的家庭。
Region(区域):包含四个区域(东部、西部、南部、北部),用于表示家庭所处的地理位置。
Age(年龄):年龄范围设置在18到80岁之间,模拟成年人口的年龄分布。
Systolic_BP(收缩压)和Diastolic_BP(舒张压):这两个属性模拟个人的血压水平,范围分别为90到180 mmHg和60到120 mmHg,常用于心血管健康分析。
Gender(性别):模拟人口中的性别分布,仅包含“Male”(男性)和“Female”(女性)两个类别。
....... 自行查看代码
# 加载必要的包
library(dplyr)
# 设置随机种子以确保结果可重复
set.seed(42)
# 定义样本数量
n <- 10000
# 生成家庭收入,假设收入在3万到15万美元之间
income <- round(runif(n, min = 30000, max = 150000), 0)
# 生成区域,假设有四个区域: 东部, 西部, 南部, 北部
region <- sample(c("East", "West", "South", "North"), size = n, replace = TRUE)
# 生成年龄,假设年龄在18到80岁之间
age <- round(runif(n, min = 18, max = 80), 0)
# 生成收缩压,假设收缩压在90到180 mmHg之间
systolic_bp <- round(runif(n, min = 90, max = 180), 0)
# 生成舒张压,假设舒张压在60到120 mmHg之间
diastolic_bp <- round(runif(n, min = 60, max = 120), 0)
# 生成性别,假设有两个性别: 男, 女
gender <- sample(c("Male", "Female"), size = n, replace = TRUE)
# 生成体重,假设体重在50到120公斤之间
weight <- round(runif(n, min = 50, max = 120), 1)
# 生成身高,假设身高在150到200厘米之间
height <- round(runif(n, min = 150, max = 200), 1)
# 生成婚姻状态,假设有三种状态: 未婚, 已婚, 离婚
marital_status <- sample(c("Single", "Married", "Divorced"), size = n, replace = TRUE)
# 生成教育水平,假设有四个等级: 高中, 本科, 硕士, 博士
education <- sample(c("High School", "Bachelor's", "Master's", "PhD"), size = n, replace = TRUE)
# 生成种族,假设有四个种族: 白人, 黑人, 亚裔, 拉丁裔
ethnicity <- sample(c("White", "Black", "Asian", "Hispanic"), size = n, replace = TRUE)
# 生成现居地,假设有五个城市: 纽约, 洛杉矶, 芝加哥, 休斯顿, 迈阿密
current_residence <- sample(c("New York", "Los Angeles", "Chicago", "Houston", "Miami"), size = n, replace = TRUE)
# 生成血糖水平,假设血糖水平在70到180 mg/dL之间
blood_sugar <- round(runif(n, min = 70, max = 180), 1)
# 创建数据框
data <- data.frame(
Income = income,
Region = region,
Age = age,
Systolic_BP = systolic_bp,
Diastolic_BP = diastolic_bp,
Gender = gender,
Weight = weight,
Height = height,
Marital_Status = marital_status,
Education = education,
Ethnicity = ethnicity,
Current_Residence = current_residence,
Blood_Sugar = blood_sugar
)
# 查看数据
View(data)
# 保存数据到CSV文件
# write.csv(data, "simulated_health_data.csv", row.names = FALSE)
# 提示保存完成
# cat("数据已保存为 'simulated_health_data.csv'")