【问题标题】:%CEM Macro for SAS: Specifying variables for matchingSAS 的 %CEM 宏:指定用于匹配的变量
【发布时间】:2019-02-12 21:54:23
【问题描述】:

是否可以使用 SAS 的 %CEM 宏在匹配期间指定要忽略的变量向量(可在:https://gking.harvard.edu/cem 获得)?

例如,考虑一个名为“Test”的数据集,其中包含以下变量:

  • Person_id:ID 主键
  • Treatment:治疗变量,如果个人接受治疗则为 1,否则为 0
  • X1:二进制辅助变量,例如性别
  • X2:离散辅助变量,例如年龄组
  • X3:连续辅助变量
  • Y:感兴趣的结果变量。

目标是估计“处理”对 Y 的影响。首先,我们希望在匹配过程中仅使用 X1 和 X2 将处理后的观察与对照进行匹配。

R 中的 cem {cem} 命令提供了一个选项“drop”,它允许指定在匹配过程中忽略的变量向量:

cem(treatment="treatment", data=Test, drop=c("X3","Y"),k2k=FALSE)

在Stata中使用cem,可以简单地指定匹配过程中使用的变量:

。 cem X1 X2, tr(处理)

是否可以在 SAS 中运行 %CEM 宏,仅使用 X1 和 X2 进行匹配?

【问题讨论】:

  • 如果数据集可以传递给 %CEM 宏,您能不能只为您感兴趣的变量添加keep=drop= 数据集选项?例如。 %cem(my_data_set(keep=X1 X2)).
  • 您好阿米尔,非常感谢您的快速回复和建议!我会试一试,现在让你看看结果如何。

标签: sas sas-macro


【解决方案1】:

最新版本的 %CEM 允许指定一个变量向量以在匹配过程中使用,即:

%CEM (
      lib = work, 
      dataset = Test, 
      id = Person_id, 
      treat = Treatment, 
      keep = X1 X2,
      del_miss = 0,
      method = Sturges,
      path_graph = C:\path_graph,
      report = on
); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2014-12-02
    • 1970-01-01
    • 2013-06-16
    相关资源
    最近更新 更多