Datenstandardisierung und Temperaturumwandlungen mit PROC IML

Dieser Code ist auch verfügbar auf: English Español Deutsch Français
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Das Skript beginnt mit der Standardisierung der numerischen Variablen des SASHELP.CLASS-Datensatzes, wobei der Median als Zentrum und die MAD (Median Absolute Deviation) als robuste Skala verwendet werden. Anschließend führt es Temperaturumwandlungen von Celsius nach Fahrenheit und Kelvin durch, was grundlegende Matrixoperationen in IML veranschaulicht. Schließlich wird ein einfaches Beispiel für eine arithmetische Berechnung vorgestellt.
Datenanalyse

Type : MIXTE


Das Skript verwendet den SASHELP.CLASS-Datensatz zur Standardisierung. Temperaturdaten und die Variablen 'x', 'y' werden direkt innerhalb des IML-Skripts erstellt.

1 Codeblock
PROC IML
Erklärung :
Dieser Block beginnt mit der Definition einer Bibliothek `SPI`, die auf `SASUSER` verweist. Anschließend initialisiert er eine `PROC IML`-Sitzung, um die numerischen Variablen des `SASHELP.CLASS`-Datensatzes zu lesen. Er berechnet den Median (`c`) und die MAD (`s`) jeder Variablen, standardisiert dann die Daten (`stdX`) und zeigt die berechneten Statistiken an.
Kopiert!
1LIBNAME SPI (SASUSER); /* location of data sets */
2 
3PROC IML;
4 /* standardize data by using robust estimates of center and scale */
5 use Sashelp.Class; /* open data set for reading */
6 read all var _NUM_ into x[colname=VarNames]; /* read variables */
7 close Sashelp.Class; /* close data set */
8
9 /* estimate centers and scales of each variable */
10 c = median(x); /* centers = medians of each column */
11 s = mad(x); /* scales = MAD of each column */
12 stdX = (x - c) / s; /* standardize the data */
13 
14 PRINT c[colname=VarNames]; /* print statistics for each column */
15 PRINT s[colname=VarNames];
2 Codeblock
PROC IML Data
Erklärung :
Dieser Block erstellt einen `Celsius`-Vektor mit mehreren Werten. Anschließend werden diese Temperaturen mittels Matrixoperationen in Fahrenheit und Kelvin umgewandelt und die Ergebnisse angezeigt.
Kopiert!
1 /* convert temperatures from Celsius to Fahrenheit scale */
2 Celsius = {-40, 0, 20, 37, 100}; /* some interesting temperatures */
3 Fahrenheit = 9/5 * Celsius + 32; /* convert to Fahrenheit scale */
4 PRINT Celsius Fahrenheit;
5 
6 Kelvin = Celsius + 273.15; /* convert to Kelvin scale */
7 PRINT Kelvin;
3 Codeblock
PROC IML Data
Erklärung :
Dieser Block veranschaulicht eine einfache arithmetische Berechnung in IML: die Zuweisung von Werten zu `x` und `y`, deren Addition zur Berechnung von `z` und anschließend die Anzeige des Ergebnisses. Die `PROC IML`-Sitzung wird mit der Anweisung `quit` beendet.
Kopiert!
1 /* Present a simple example program with comments. */
2 /* The PROC IML statement is not required in SAS/IML Studio programs. */
3 x = 3; /* 1 */ /* NUMBERS indicate steps that */
4 y = 2; /* are described in a list */
5 z = x + y; /* 2 */ /* AFTER the program. */
6 
7 PRINT z; /* display result */ /* Other statements are briefly */
8 /* described WITHIN the program. */
9 
10QUIT;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.