【问题标题】:How can I uses SAS to randomly select twins?如何使用 SAS 随机选择双胞胎?
【发布时间】:2021-12-11 03:23:01
【问题描述】:

我正在处理单胎和双胞胎混合的数据。我将双胞胎和单胞胎分成不同的组,单胞胎和双胞胎。在双胞胎中,我想从每对中随机选择一个孩子。数据编码如下: 婴儿ID 00011-21 11 00011-22 11 00012-21 12 00012-22 12

其中每组双胞胎的 ID 的 5 位数字相同,并以“21”或“22”区分。每组双胞胎的母亲身份相同。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: sas


【解决方案1】:
  1. 将 ID 分开,以便您只拥有第一部分
  2. 添加随机数字
  3. 按 ID 和随机数字排序
  4. 选择第一个或最后一个值
  • 假设输入数据集名称为 HAVE
data modified;
set have;
TWIN_ID = scan(infant_id, 1, "-");
random = rand('normal', 55, 10);
run;

proc sort data=modified;
by TWIN_ID random;
run;

data selected;
set modified;
by TWIN_ID random;
if first.twin_id;
run;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多