Es ist das erste Mal, dass ich sas heute geöffnet habe und ich sehe mir einen Code an, den ein Kollege geschrieben hat.SAS entspricht R's is.element()
Also sagen wir, ich habe einige Daten (import
), wo Duplikate auftreten, aber ich möchte nur diejenigen, die eine eindeutige Nummer namens VTNR haben.
Zuerst sieht sie für eindeutige Zahlen:
data M.import;
set M.import;
by VTNR;
if first.VTNR=1 then unique=1;
run;
Dann schafft sie eine Tabelle mit den duplizierten Nummern:
data M.import_dup1;
set M.import;
where unique^=1;
run;
Und schließlich eine Tabelle mit allen Duplikate. Aber hier sie wirklich ist hartzucodieren die Zahlen, so zum Beispiel:
data M.import_dup2;
set M.import;
where VTNR in (130001292951,130100975613,130107546425,130108026864,130131307133,130134696722,130136267001,130137413257,130137839451,130138291041);
run;
Ich bin sicher, es muss ein besserer Weg geben.
Da ich nur vertraut mit R bin ich so etwas wie schreiben würde:
import_dup2 <- subset(import, is.element(import$VTNR, import_dup1$VTNR))
Ich denke, es muss so etwas wie die $
auch für sas sein?
Blick auf proc Art mit dem uniqueout und Dupout Optionen. – Reeza
Wenn Sie Hilfe von SAS-Programmierern benötigen, müssen Sie erklären, was Ihr R-Code tut. Außerdem sollten Sie erklären, welches Problem Sie mit dem R-Code lösen möchten und nicht nur, wie es funktioniert. Im Allgemeinen müssen Sie Ihre Herangehensweise an Probleme anpassen, wenn Sie verschiedene Sprachen verwenden. – Tom