【发布时间】:2017-01-04 17:25:35
【问题描述】:
如何在 SAS 中创建数据集的子集,以便事先确定变量的均值、方差和观察次数?
例子:
OBS NAME x1 x2
1 Bill 3 2
2 James 4 5
3 Rick 5 6
4 Bob 3 7
5 Clas 5 2
6 Brye 2 9
7 Mann 8 5
8 Pids 4 8
9 Tony 0 7
10 Lou 2 6
假设我想要一个包含 3 个观测值的子集,均值 (x1) = 4 和 std(x1) = 0.95。我将如何在 SAS 中创建这个子集?
我宁愿不使用 proc 方法做某事并反复猜测/检查。任何帮助表示赞赏!
更新:创建了一个逻辑模型来预测观察结果是属于治疗组还是对照组。然后取前 10% 的概率最高的在治疗组,但不包括在治疗组中,基本上用作对照组。
【问题讨论】:
-
您通常会选择一个接近您的总体均值/标准(或者,您的较大样本均值/标准)的对照组吗?还是您要选择一个故意偏颇大的产品?
-
另外,dv:对于一个 SAS 问题,这是一个非常详细且很好的问题。它不包含实际代码,但它包含对其他不起作用的方法的很好解释。我认为这是一个很好的问题。
-
Joe,我想根据一些变量的均值/标准差选择一个代表我的较大样本的对照组。本质上,如果我的较大样本的平均值为 4,标准值为 0.95,我想选择一个具有这些给定度量的样本。
-
不确定是否有比
proc surveyselect更好的解决方案,如果离得太远,请重复。您可以使用control排序使其更接近,但我不确定这是否合适。但也许其他人会知道一个。 -
我添加了sas-iml 标签,因为我认为这可能有助于解决这个问题,特别是如果 Rick 有一个好的解决方案。如果您没有 SAS-IML,我们当然可以删除标签。