stata - 随机选择观察值
问题描述
我有以下格式的数据:
Month Date Time1 Time2 Time3
Jan 01/01/2018 1234 2345 3456
Jan 02/01/2018 1234 2346 3457
Jan 03/02/2018 1234 2346 3145
Feb 03/02/2018 1234 2347 3458
Feb 04/02/2018 1235 2398 3456
March 04/03/2018 1235 2347 3456
March 01/03/2018 1236 2345 3456
March 02/03/2018 1234 2567 3897
Feb 02/02/2018 1236 2346 3478
我想随机选择观察结果,以便从每个月和时间段中获得两个样本日期和数字。例如,对于Jan
,Time 1
我想得到:01/01/2018
,1234
和02/01/2018
, 1234
。
我怎样才能在Stata中做到这一点?
解决方案
您可以随机选择观察值,如下所示:
clear
input str5 Month str10 Date Time1 Time2 Time3
Jan "01/01/2018" 1234 2345 3456
Jan "02/01/2018" 1234 2346 3457
Jan "03/02/2018" 1234 2346 3145
Feb "03/02/2018" 1234 2347 3458
Feb "04/02/2018" 1235 2398 3456
March "04/03/2018" 1235 2347 3456
March "01/03/2018" 1236 2345 3456
March "02/03/2018" 1234 2567 3897
Feb "02/02/2018" 1236 2346 3478
end
bysort Month (Time1): generate random = runiform()
bysort Month (Time1 random): keep if _n < 3
list, sepby(Month)
+-------------------------------------------------------+
| Month Date Time1 Time2 Time3 random |
|-------------------------------------------------------|
1. | Feb 03/02/2018 1234 2347 3458 .3576297 |
2. | Feb 04/02/2018 1235 2398 3456 .4004426 |
|-------------------------------------------------------|
3. | Jan 02/01/2018 1234 2346 3457 .2076905 |
4. | Jan 01/01/2018 1234 2345 3456 .5597356 |
|-------------------------------------------------------|
5. | March 02/03/2018 1234 2567 3897 .0286627 |
6. | March 04/03/2018 1235 2347 3456 .6889245 |
+-------------------------------------------------------+
推荐阅读
- node.js - 更新的 Create-React-App 不再构建
- c# - 错误:VS2019 在创建 .NET CORE 2.1 Web 应用程序后抛出 2 个错误
- kubernetes - 如何以 HTTPS 方式访问 Kubernetes 外部 IP
- spring-boot - Mockito 模拟 CassandraOperation Slice 方法
- sql-server - 插入到另一个数据库后的 SQL Server 触发器未触发
- javascript - Javascript 动作总是拉第一个表
- encryption - 如果 IV 每次都更改,则重用密钥
- sql-server - 将 SQL Server 2014 升级到 SQL Server 2016(如何处理 SSIS、SSRS)
- ios - Swift iOS:无法以编程方式添加视图
- express - 用猫鼬审问我的 API 的问题