1266 7

[问答] 用R语言生成数据集 [推广有奖]

  • 0关注
  • 0粉丝

高中生

32%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
224 点
帖子
13
精华
0
在线时间
30 小时
注册时间
2020-8-7
最后登录
2023-10-19

楼主
热爱编码的秃头女孩 发表于 2022-11-1 19:12:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想请问下各位大神,想用R语言随机生成一个1000人的数据集。该数据集的变量包括体重、身高、性别等。请问R语言有没有一个包是专门用来生成随机数据集的啊?我现在只会用rnorm函数,随机生成一个变量的向量,不知道用什么函数来生成包括多个变量的数据集。(多个变量都是随机生成的,且遵循正态分布)另外,由于数据集是随机生成的,所以可能会出现不符合正常人逻辑的情况,比如一名男性,身高192cm,但是体重只有30kg,所以需要设置身高和体重的协方差,以确保随机生成的数据集不会过度离谱,请问各位大神这个应该肿么弄啊?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 数据集 生成随机数据 生成随机数 多个变量

回帖推荐

llb_321 发表于2楼  查看完整内容

本帖被以下文库推荐

沙发
llb_321 在职认证  发表于 2022-11-1 21:02:55
  1. library(MASS)
  2. Sigma <- matrix(c(36, 0.8, 0.8, 36), 2, 2)#身高和体重的协方差矩阵
  3. #     [,1] [,2]
  4. #[1,] 36.0  0.8
  5. #[2,]  0.8 36.0
  6. d <- as.data.frame(mvrnorm(n = 1000, c(170, 65), Sigma))#生成身高和体重数据
  7. summary(d)#看查数据
  8. d <- cbind(d, as.factor(sample(c(0, 1), 1000, replace = T)))#添加性别
  9. colnames(d) <- c("Height", "Weight", "Gender")#更改变量名
复制代码


Rplot.png
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

藤椅
热爱编码的秃头女孩 发表于 2022-11-2 10:34:29
llb_321 发表于 2022-11-1 21:02
太强了!!!感谢~

板凳
llb_321 在职认证  发表于 2022-11-2 15:43:29
热爱编码的秃头女孩 发表于 2022-11-2 10:34
太强了!!!感谢~
这只是示例。
实际上,因为男性和女性的差异,性别变量不应随机产生,而是需要按性别单独生成两组身高和体重的多元数据,再整合到一起。这样更严谨些。 Rplot.png


  1. library(MASS)
  2. library(ggplot2)
  3. Sigma1 <- matrix(c(36, 0.8, 0.8, 36), 2, 2)#男性身高和体重的协方差矩阵
  4. Sigma2 <- matrix(c(30, 0.8, 0.8, 30), 2, 2)#女性身高和体重的协方差矩阵
  5. d1 <- as.data.frame(mvrnorm(n = 500, c(170, 65), Sigma1))#生成男性身高和体重数据
  6. d2 <- as.data.frame(mvrnorm(n = 500, c(160, 60), Sigma2))#生成女性身高和体重数据
  7. d1 <- cbind(d1, v3=rep("男",500))#添加性别变量取值男
  8. d2 <- cbind(d2, v3=rep("女",500))#添加性别变量取值女
  9. d <- rbind(d1,d2)
  10. colnames(d) <- c("Height", "Weight", "Gender")#更改变量名
  11. #身高和体重数据散点图
  12. ggplot(d) +
  13.   aes(Height, Weight, color = Gender) + geom_point(size = 2.5) +
  14.   scale_color_manual(values = c("blue", "red")) +
  15.   theme_minimal()
复制代码

已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 热心帮助其他会员
Sunknownay + 3 + 3 + 3 热心帮助其他会员
nieqiang110 + 5 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 15  学术水平 + 8  热心指数 + 8  信用等级 + 8   查看全部评分

报纸
热爱编码的秃头女孩 发表于 2022-11-3 11:14:49
llb_321 发表于 2022-11-2 15:43
这只是示例。
实际上,因为男性和女性的差异,性别变量不应随机产生,而是需要按性别单独生成两组身高和 ...
好的,我之前还在想这种分类型协变量如何按照体重划分呢,谢谢

地板
nieqiang110 学生认证  发表于 2022-11-6 12:22:33
llb_321 发表于 2022-11-2 15:43
这只是示例。
实际上,因为男性和女性的差异,性别变量不应随机产生,而是需要按性别单独生成两组身高和 ...
感谢lib_321老师

7
llb_321 在职认证  发表于 2022-11-6 12:53:39
nieqiang110 发表于 2022-11-6 12:22
感谢lib_321老师
老哥久违。
不敢当,同好,同学,而已。
祝安

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-6 04:02