【发布时间】:2016-11-14 16:25:01
【问题描述】:
今天第一次打开sas,正在看同事写的一些代码。
假设我有一些数据 (import) 出现重复,但我只想要那些具有唯一编号的数据,名为 VTNR。
首先她寻找唯一的数字:
data M.import;
set M.import;
by VTNR;
if first.VTNR=1 then unique=1;
run;
然后她用重复的数字创建一个表格:
data M.import_dup1;
set M.import;
where unique^=1;
run;
最后是一个包含所有重复项的表。 但在这里她真的是对数字进行硬编码,例如:
data M.import_dup2;
set M.import;
where VTNR in (130001292951,130100975613,130107546425,130108026864,130131307133,130134696722,130136267001,130137413257,130137839451,130138291041);
run;
我相信一定有更好的方法。
由于我只熟悉 R,所以我会写如下内容:
import_dup2 <- subset(import, is.element(import$VTNR, import_dup1$VTNR))
我想 sas 也必须有类似 $ 的东西?
【问题讨论】:
-
使用 uniqueout 和 Dupout 选项查看 proc 排序。
-
如果您需要 SAS 程序员的帮助,那么您需要解释您的 R 代码是做什么的。此外,您应该解释您尝试使用 R 代码解决的问题,而不仅仅是它是如何工作的。一般来说,在使用不同语言时,您需要调整自己的方法来解决问题。
标签: sas duplicates unique subset