【发布时间】:2018-07-27 13:59:36
【问题描述】:
我有一个数据集,其中包含 ID 和一个名为 CC 的变量。 CC 包含多个编号值,其中每个值代表某事。它看起来像这样:
一个 ID 可以在多行中具有相同的 CC,我只想标记 CC 是否存在,所以即使 Joe 有五行表明他的 CC 等于 3 我只想要一个 1 或 0 来说明 Joe 是否存在曾经有一个等于 3 的 CC。
我希望它看起来像这样:
我尝试按如下所示对其进行编码,但问题是虽然我知道一个 ID 可以有不止一种类型的 CC,但从代码创建的最终数据集仅显示每个填充的 ID 1 个 CC。我想也许它正在覆盖它? 另外我应该注意,在此代码之前,我创建了 CC 标志变量并将其全部填充为零。
proc sql;
DROP TABLE Flagged_CCs;
CREATE TABLE Flagged_CCs AS
select
ID,
COUNT(ID) as count_ID,
case when CC=1 then 1 end as CC_1,
case when CC=2 then 1 end as CC_2,
case when CC=3 then 1 end as CC_3
from Original_Dataset
group by ID;
quit;
感谢您的帮助,谢谢。
【问题讨论】:
-
当您将数据作为图像发布时,我必须将其输入。
-
谢谢,我原来是打出来的,但是间距全没了,很难看到列。如何轻松查看列并使其间距正确?我应该使用代码高亮按钮吗?
标签: sas conditional-statements flags