楼主: mooncrystal
7547 5

[数据管理求助] 如何在stata生产确定数目的0或1的随机数 [推广有奖]

  • 0关注
  • 2粉丝

讲师

98%

还不是VIP/贵宾

-

威望
0
论坛币
16158 个
通用积分
1.7962
学术水平
12 点
热心指数
10 点
信用等级
6 点
经验
7907 点
帖子
282
精华
0
在线时间
977 小时
注册时间
2011-4-3
最后登录
2022-10-21

楼主
mooncrystal 发表于 2017-2-9 22:15:41 |AI写论文
50论坛币
如何在stata生产确定数目的0或1的随机数,比如要求一共随机赋予500个值为1,500个值为0.谢谢!

最佳答案

夏目贵志 查看完整内容

你是要这样么 clear set obs 1000 gen x=(_n
关键词:Stata tata 随机数 如何

沙发
夏目贵志 发表于 2017-2-9 22:15:42
你是要这样么
clear
set obs 1000
gen x=(_n<=500)
gen order=rnormal()
sort order
drop order
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黃河泉 + 3 + 3 + 3 精彩帖子

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
黃河泉 在职认证  发表于 2017-2-10 08:09:48
这样算是随机数吗?(注:看了楼下夏目版主的 code 后,发觉自己误解了!哈哈!)

板凳
mooncrystal 发表于 2017-2-12 17:59:29
夏目贵志 发表于 2017-2-10 10:41
你是要这样么
clear
set obs 1000
您好!谢谢
可是我没看太明白。我的意思是:
比如我有1000个样本,我要随机对其中 的500个 赋予值1,其他的赋予值0,
这样可以实现吗?
谢谢!

报纸
夏目贵志 发表于 2017-2-13 01:33:21
mooncrystal 发表于 2017-2-12 17:59
您好!谢谢
可是我没看太明白。我的意思是:
比如我有1000个样本,我要随机对其中 的500个 赋予值1,其 ...
就是这样的啊,你试试就知道了。

地板
hplcdadong 发表于 2017-2-14 21:42:53
It seems that you want to generate a randomization allocation table, the following should be what you want:

clear
set obs 1000
egen group=fill(0 1 0 1)
set seed 54651
capture drop random_num
gen random_num=runiform()
sort random_num

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-19 05:29