Wie benutzt SAS


How to use SAS
Copyright © By Robert Fovell
For original English text, go to: http://www.atmos.ucla.edu/~fovell/HOWTO/sashowto.html

C162/C213 Fovell

SAS (die einst auf dem “Statistical Analysis System”) ist ein integrierter Satz von statistischen und anderen Verfahren (Procs), die wir in den synoptischen Lab Linux-Computern gefunden. SAS zur Verfügung stehen sollte jegliche Labor-Arbeitsplätze, , aber möglicherweise müssen Sie das Skript erneut ausführen:

Quelle / home / fovel / dosas.csh

Wenn Sie tat es, und SAS-immer noch nicht funktioniert, bitte, Ch. Prashant nach Hause oder Sie.

SAS Aufgaben werden in Daten aufgeteilt und PROC Schritte. DATA Schritt, um die Daten zu lesen und Manipulationen mit den Daten (Änderungen Umskalierungen, Entfernung von diesen Fällen, und so weiter). PROC Schritte auszuwerten, um statistische Informationen, nehmen Sie die Teile und Drucklisten. Zum Beispiel:

Procedures Funktion
REG Lineare Regression des Modells
MEANS berechnen zusammenfassende Statistiken (Mittelwert, Varianz, Max, Min)
UNIVARIATE berechnen die Verteilung der statistischen Kriterien für Normalität
STANDARD Conversion Mittelwert und Varianz der Daten
CORR Compute Pearson Produkt-Moment-Korrelation
PLOT macht 2D-ASCII-Daten an den Drucker-Stationen
PRINT Zeigt eine gegebene Menge von Daten
Faktor Lee Hauptkomponentenanalyse und Faktorenanalyse
CLUSTER Führt Cluster-Analyse

SAS ist eine Programmiersprache, und so müssen wir uns an bestimmte Regeln der Syntax einhalten. Die wichtigsten Regeln:

praktisch alle SAS-Anweisungen werden in einem Semikolon

vergessen, ein Semikolon verwenden, der vermutlich 75% aller Fehler SAS. Die Vorteile der Terminator Punkt jedoch ist, dass man mehr als eine SAS-Anweisung aufs Spiel setzen, und Sie können mehr als eine Zeile für einen Betreiber SAS zu verwenden, nicht über die Fortsetzung der Marker zu kümmern. Es gibt keine Beschränkungen für die Länge der Mitteilung der SAS, und Spalten-Integritätsregeln. Ein weiterer wichtiger Punkt über die Syntax von SAS ist, dass es nicht auf das Register.

DATA Schritt-Muster. Angenommen, Sie wollen in einem Daten-Set bestehend aus vier Variablen, und die Notwendigkeit, ein paar von ihnen konvertieren zu lesen.

* Ein Kommentar beginnt mit einem Stern und endet mit Semikolon, Mai

über mehr als eine Linie, und kann überall hingehen (aber nicht Kommentare in Ihren Datensätzen einbetten);

* Die DATA-Anweisung definiert den Namen des Datensatzes. Hier ist es “Beispiel”;

* Der Datensatz Name darf maximal acht Zeichen, ein Rückfall in die Steinzeit IBM;

DATA Beispiel;

* Die INPUT-Anweisung sagt SAS die Variablen eingelesen Freies Format verwendet werden kann

wenn es ein oder mehrere Leerzeichen getrennt jede Spalte, so dass die

Spalten müssen nicht antreten;

INPUT Y X1 X2 X3;

* Transformationen und Kreationen der neuen Variablen folgen würden die INPUT-Anweisung;

* Y ist die Temperatur in Fahrenheit, so wandeln sie in Celsius unter;

Y = (Y – 32.) * Fünfte / 9;. * Standard algebraische Ordnung gilt;

* Erstellen von neuen Variablen X3 = ln (X1) und X4 = X1 * X2;

X3 = LOG (X1), X4 = X1 * X2;

* Die Karten Anweisung sagt SAS die Daten folgen. (Ist diese Aussage

? zeigen SAS ‘Alter oder was) Verwenden Sie keine Semikolons in den Daten;

CARDS;

97 33 -45 -2

80 45 6 12

32 -3 12 5

Es hilft, gelegentlich verwenden Sie ein Semikolon in der ansonsten leere Zeile am Ende dieses SAS sagte er das Ende von Schritt DATA erreicht. Deshalb sind die Daten nicht enthalten, können Semikolons.

Manchmal möchten Sie vielleicht die Art der Variablen zum Zwecke der Identifizierung umfassen. Diese Variablen werden durch “$”-Zeichen hinter dem Variablennamen (wie in dem Namen $) bezeichnet. Beachten Sie das Leerzeichen zwischen dem Variablennamen und dem Dollarzeichen.

Beispiel PROC Schritte.

PROC MEANS DATA = Beispiel; VAR Y X1;

* Die obige Erklärung sagt SAS, um die Daten auf "Beispiel" und berechnen Zusammenfassung

Statistiken über die Variablen Y und X1. Wenn Sie nicht angeben, den Namen des Datensatzes, SAS

verwendet das zuletzt erstellte Datensatz. Wenn Sie nicht angeben, welche VARs

Prozess wird SAS nutzen alle numerischen Variablen im Datensatz;

PROC REG; Modell y = X1 X2;

* Dies hat den einfachsten lineare Regression der X1 und X2 auf Y, was zu einer minimalen

der Ausgang. Weil wir nicht speziell mit dem DATA = DataSetName Kennung,

SAS nutzt die zuletzt erstellte Datensatz.;

PROC REG;

Modell y = X1 X2 X4 / PR NOINT; * Optionen folgen Sie dem / sign;

Ausgang OUT = Regout P = yhat R = Rückstand;

* Die oben passen Sie ein Modell von y = f (X1, X2, X4) und SAS wurde gebeten, zu:

(1) Lassen wir den konstanten Term "NOINT»,

(2) Berechnen Sie und drucken Sie vorhergesagte Werte und Residuen ("PR"),

(3) Speichern Sie die vorhergesagte Werte und Residuen in einen neuen Datensatz namens "Regout»,

mit dem ehemaligen Namen "yhat" und letztere als "Rückstand".;

* Hinweis: Dieses Verfahren schafft eine neue Ausgabe Datensatz, der die Standardeinstellung wird

"Öffnen"-Datensatz;

PROC PRINT; * Diese Erklärung allein würde ausdrucken Datensatz "Regout" standardmäßig;

PROC PRINT DATA = Beispiel; * zum Ausdrucken der erste Datensatz erstellt;

* Um Fehler zu vermeiden, ist es eine gute Idee, immer sagen, die SAS-Datensatz Sie es wollen

zu operieren. So verwenden Sie die DATA = DataSetName Aussage bei jeder Gelegenheit;

Wie SAS laufen. SAS kann im interaktiven Modus, Vollbild-Modus oder im "Batch"-Modus über die Befehlszeile Unix laufen. Hier ist, wie die Batch-Modus zu verwenden.

    Speichern

  1. SAS-Anweisungen in eine Datei mit einer Erweiterung . . SAS Beispiel: cloud.sas

  2. Wird SAS laufen, einfach laufen Unix: SAS Wolke

    Wenn

  3. SAS ausgeführt wird, erstellt es zwei neue Dateien, cloud.lst und cloud.log. Wenn diese Dateien bereits vorhanden sind, werden sie überschrieben! Cloud.lst enthält die Ableitung von SAS. Cloud.log wo zu finden, wo der Fehler (wenn überhaupt) aufgetreten ist.

  4. Um die SAS-Liste Ausgabedatei machen entspricht einer Standard-Terminal-Fenster Größe, verwenden Sie diese Anweisung als erste Zeile in Ihrem Programm SAS:

    Optionen linesize = 72; * andernfalls wird die Liste 132 Zeichen lang sein

    breit;

einige erweiterte Zeug.

  1. Zusammenschluss von zwei oder mehr Gruppen von Daten:

    * Dieser Datensatz liest in der Station-ID-Nummer und zwölf monatlichen Temperaturwerte;

    * Beachten Sie die bequeme Abkürzung T1-T12 liest in Vars T1, T2, T3, ..., T12;

    Daten temps; Eingabestation T1-T12; Karten;

    (Daten folgen)

    ; * Muster Ende der Temperaturdaten;

    * Jetzt in Niederschlagsdaten für die gleichen Stationen zu lesen;

    Daten precips; Eingabestation P1-P12; Karten;

    (Daten folgen)

    ; * Marks Ende der Niederschlag Daten;

    Daten zu kombinieren, verschmelzen temps precips; von Station;

    * Die neuen Daten eingestellt "kombinieren" enthält den Inhalt der beiden Datensätze, und besteht aus

    die Variablen: Bahnhof, T1-T12 und P1-P12;

  2. Conversion-Daten nach dem Datensatz wurde erstellt

    Daten Original; Eingang Y X1 X2; Karten;

    (Daten folgen)

    ;

    Daten revidiert; Set original; Y = Y/100.;

    * Nun werden zwei Datensätze existieren, die sich um, wie Y skaliert wird.;

  3. Standardisierung von Daten für den angegebenen Mittelwert und Standardabweichung

    proc Standard data = somedataset M = 0 S = 1 OUT = NewDataSet; VAR variablelist;

    * Die neuen Daten eingestellt "NewDataSet" enthält den Inhalt des "somedataset", sondern

    die Variablen in der variablelist angegeben haben, auf Null umgewandelt worden

    Mittelwert (M = 0) und Einheit Standardabweichung (S = 1);

  4. Eingabe von mehr als einer Beobachtung in den Daten auf der gleichen Zeile gesetzt

    * Im Jahr gelesen und mittlere Temperatur seit einiger Station;

    Daten temps; Eingabe Jahre Temp @ @; Karten;

    1950 56,1 1951 54,3 1952 58,5 1953 59,1

    1954 60,1 1955 52,1 1956 52,0 1957 60,0

    usw.

    ;

  5. SAS-Funktionen, die zwischen dem Eingang und der CARDS-Anweisungen verwendet werden können weitgehend reflektieren ihre Fortran-Pendants.

    Y = log (x); * natürlichen Logarithmus;

    Y = log10 (X); * log zur Basis 10;

    Y = exp (x), Y = COS (X), Y = sin (x), Y = ABS (X), Y = SQRT (X) * offensichtlich!;

    Y = atan (x), Y = ARCOS (X), Y = Arsin (X); * inversen trigonometrischen Funktionen;

  6. Vor der Fusion von zwei oder mehr Datensätze, müssen sie durch eine gemeinsame Variable sortiert werden. Wenn sie nicht bereits auf dieser Variable sortiert werden, oder, wenn der SAS beschweren aus irgendeinem Grund, müssen Sie die Lieferungen auf ihre eigenen zu machen, unter Verwendung der Prozedur SORT.

    PROC SORT DATA = dset1, durch Station;

    * Ändert Datensatz "dset1", die von der Station variablen Wert sortiert werden;

    PROC SORT DATA = dset1 OUT = sort1, durch Station;

    * Die sortierten Datensatz wird als "sort1" und die ursprüngliche Datensatz ist unverändert;

  7. Name der Anwendung kann überall eingesetzt werden

    TITEL diese Aussage befindet sich auf jeder gedruckten Seite des xxxx.lst Datei platziert;

  8. Vorgehensweise Abschnitt kann für mehrere Websites oder Websites verwendet werden, um verhängen

    * Diese Aussage einfach Parzellen Y vs X1;

    PROC PLOT DATA = Beispiel; PLOT Y * X1;

    * Hier geben wir SAS das Symbol, um in den Plot zu verwenden;

    PROC PLOT DATA = Beispiel; PLOT Y * X1 = '+';

    * Diese Aussage macht zwei Parzellen: Y vs X1 und X2 vs Y aber nicht überziehe sie;

    PROC PLOT DATA = Beispiel; PLOT Y * (X1 X2);

    * Das könnte auch als PLOT geschrieben worden sein Y * Y * X1 X2;

    * Diese Overlays die Grundstücke von Y vs X1 und X2;

    PROC PLOT DATA = Beispiel; PLOT Y * (X1 X2) / Overlay;

  9. Entfernung von bestimmten Fällen (gut, wenn Sie die Kommentare löschen wollen, ist, wenn sie die Emissionen oder übermäßigen Einfluss auf das Modell vermuten).

    DATA Beispiel;

    INPUT casenum Y X1 X2 X3;

    wenn casenum = 42 dann löschen, löscht * Fallnummer 42;

    wenn X1> = 4.02 dann löschen; * löscht alle Daten, wenn X1 größer oder gleich 4.02;

    wenn X1 <4.02; * gleiche Wirkung wie obige Aussage, da die Standard-Aktion ist HALTEN;

  10. Entfernen von Variablen aus dem Datensatz.

    * Beispiel für das Entfernen von Variablen ursprünglichen Datensatzes;

    DATA Original; INPUT Y X1 X2 X3;

    * Angenommen, Sie erstellen X4 = X2/X3 und müssen nicht mehr X2 und X3;

    X4 = X2/X3;

    DROP X2 X3; CARDS;

    * Beispiel zur Verhinderung von Variablen trägt uns auf eine neu erstellte Datensatz;

    DATA neu; Set Beispiel (Tropfen = X2 X3);

  11. Mehrzweckraum des Falles. Nun, wenn Sie auf jeden Fall zuordnen zu geben und müssen nicht casenumber als Eingangsgröße wollen.

    DATA Beispiel;

    INPUT Y X1 X2 X3;

    casenum = _N_; * _N_ SAS ist das eingebaute Zähler Fall;

    wenn casenum = 42 dann löschen;

    CARDS;

    Beispiele

  12. formatierte Eingabe.

    INPUT A 4.3 B 10-12 C 13-20; * geben Spalte Zahlen;

    INPUT AB 10-12 C 13-20; * können Sie freie und feste Formate zu mischen;

    INPUT @ 3 A, die zweite B die vierte; * Start in Spalte 3, in 2 cols gelesen (Nummern 3 und 4)

    in A, und nächsten 4 cols in B. Beachten Perioden nach "2" und "4";

    Mehr

  13. eine Zeile pro Beobachtung.

    INPUT Y X1 X2 X3 # 2; * zwei Zeilen pro Fall mit X2 und X3 als auf

    zweite Zeile;

  14. Übertragen von Datensätzen. SAS sagte in einer Daten als Instanzen der Variablen gesetzt. Wenn Sie dann brauchen, um sie als Variablen-of-Angelegenheiten Arbeit aus irgendeinem Grund, verwenden Sie TRANSPOSE Verfahren. Warnung: Stellen Sie sicher wissen, dass Ihre neue "variable" Namen.

    PROC TRANSPOSE DATA = Eingang = Ausgang OUT;

    Wie

  15. Ihre Art und Weise in eine andere Anwendung

    * Angenommen, Sie möchten ein paar Variablen aus Datensatz "Beispiel" in die Liste Format für die Eingabe bekommen

    eine andere App (vielleicht ein Grafik-app);

    * Stellen Sie zuerst die "Seitengröße" bis zu einem gewissen großen Zahl so dass Ihre Daten nicht

    werden durchsetzt mit Seitenbannern;

    OPTIONS PageSize = 9999;

    DATA _null_; SET Beispiel;

    PUT X Y yhat RESID;

    * Sie können auch angeben Ausgabeformate;

    * Jetzt für Ihre Daten aufgrund vergleichender der xxxx.log Datei geschrieben aussehen;

  16. SAS enthält einen leistungsfähigen Matrix-Programmiersprache, die man mit PROC IML wird. Gut für Operationen an der gesamten Matrix auf einmal. Sie konnten die meisten der PROC REG mit sehr wenigen Anwendungen in der IML schreiben. (Eine gute Übung, um sich selbst beweisen, dass Sie wissen, was los ist.)