duplicates - SAS equivalent to R’s is.element() -


it’s first time i’ve opened sas today , i’m looking @ code colleague wrote.

so let’s have data (import) duplicates occur want have unique number named vtnr.

first looks unique numbers:

    data m.import;     set m.import;      vtnr;     if first.vtnr=1 unique=1;     run; 

then creates table duplicated numbers:

    data m.import_dup1;     set m.import;      unique^=1;     run; 

and table duplicates. here hardcoding numbers, example:

    data m.import_dup2;     set m.import;     vtnr in (130001292951,130100975613,130107546425,130108026864,130131307133,130134696722,130136267001,130137413257,130137839451,130138291041);     run; 

i’m sure there must better way.

since i’m familiar r write like:

import_dup2 <- subset(import, is.element(import$vtnr, import_dup1$vtnr)) 

i guess there must $ sas?

to me looks direct translation of r code

import_dup2 <- subset(import, is.element(import$vtnr, import_dup1$vtnr)) 

would use sql code

proc sql;  create table import_dup2     select * import    vtnr in (select vtnr import_dup1)  ; quit; 

but if intent find observations in import have more 1 observation per vtnr value there no need first create other table.

data import_dup2 ;   set import;   vtnr ;   if not (first.vtnr , last.vtnr); run; 

Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

unity3d - Fatal error- Monodevelop-Unity failed to start -