我想基于基准日期(在我的数据集中称为baseline_doc)为所有client_id的相同分组标记第一个和最后一个观测值。在sas中的第一个和最后一个观察
例如,我希望我的最终数据集是这样的:
Client_id Baseline_Date First.baseline_doc Last.baseline_doc
--------- ------------------ ------------------ -----------------
1 April 1 2016 0 0
1 April 20 2016 0 1
1 January 1 2016 1 0
2 January 1 2016 1 0
2 January 20 2016 0 1
3 February 20 2016 1 1
注意如何CLIENT_ID第一个和最后的类似的分组中被边裁CLIENT_ID的第一个实例,并且CLIENT_ID的最后一个实例,然后WITHIN每个client_id分组的第一个和最后一个观察被标记 - first.baseline_doc中的第一个日期被标记为1并且最后日期(或最近的)被标记为last.baseline_doc 这是我正在使用的代码:
data FA_CA_DADOS_CLEAN_DELETED;
set fa_ca_dados_clean2;
by client_id baseline_doc;
firstclient_id = first.client_id;
lastclient_id = last.client_id;
firstBaseline_doc = first.baseline_doc;
lastBaseline_doc = last.baseline_doc;
run;
但是,我的代码并没有像我想要的那样给我输出。发生了什么是每个client_id被标记为last.baseline_doc的1,但肯定有一些应该是0 b/c我有不同日期的client_id重复。
我在做什么错?
我直接从这个资源复制此代码: https://onlinecourses.science.psu.edu/stat481/node/9
,它有我想,所以我不知道是怎么回事输出。
我按照client_id和baseline_doc排序,然后运行上面的代码!
有人可以帮我吗?
你一定不明白。 'first.something'意味着这个观察结果是第一个具有某种“某事”的观察结果。如果您将'first.baseline_doc'用于完全不同的概念,那么您真的很困惑你的同事。 –
也许你应该首先根据Client_id Baseline_Date对输入数据进行排序? –