Das Skript beginnt mit der Untersuchung der Struktur und Metadaten des `sashelp.cars`-Datensatzes mithilfe von `PROC CONTENTS`. Anschließend werden zusammenfassende Statistiken erstellt: Zuerst eine globale Zusammenfassung, die von `PROC PRINT` angezeigt wird, dann spezifische Mittelwerte von `MSRP`, gruppiert nach `origin` und `make`. Es werden auch die globalen Mittelwerte von `WheelBase` und `Weight` berechnet. Ein Abschnitt des Skripts versucht, den Pearson-Korrelationskoeffizienten zwischen `WheelBase` und `Weight` manuell zu berechnen, indem Abweichungen vom Mittelwert und deren Produkte abgeleitet werden. Es ist wichtig zu beachten, dass ein Syntaxfehler im `DATA STEP`, bei dem `xy_dev = x_dev = y_dev;` einen logischen Vergleich anstelle einer Multiplikation durchführt, die manuelle Pearson-Berechnung inkorrekt macht. Das Skript validiert anschließend die Korrelation durch eine direkte Berechnung mittels `PROC CORR`. Schließlich wird eine einfache lineare Regressionsanalyse mit `PROC REG` durchgeführt, um die Beziehung zwischen `weight` und `wheelbase` zu modellieren.
Datenanalyse
Type : MIXTE
Das Skript verwendet den integrierten Datensatz `sashelp.cars` als Hauptquelle. Mehrere temporäre Datensätze (`cars_summary`, `msrp`, `WW_means`, `cars`, `dev`) werden während der Ausführung dynamisch erstellt, um die Ergebnisse der Prozeduren und die transformierten Daten zu speichern, die dann in den nächsten Schritten verwendet werden.
1 Codeblock
PROC CONTENTS
Erklärung : Diese Prozedur zeigt das Datenwörterbuch (Metadaten) für den Datensatz `sashelp.cars` an. Sie liefert Informationen über die Variablen, deren Typen, Formate und Längen, was für das Verständnis der Datenstruktur unerlässlich ist.
Kopiert!
proc contents data=sashelp.cars;
run;
1
PROC CONTENTSDATA=sashelp.cars;
2
RUN;
2 Codeblock
PROC SUMMARY Data
Erklärung : Die erste `PROC SUMMARY` berechnet grundlegende deskriptive Statistiken für alle numerischen Variablen des Datensatzes `sashelp.cars` und speichert diese Statistiken in einem neuen Datensatz namens `cars_summary`. Die folgende `PROC PRINT` zeigt den Inhalt des Datensatzes `cars_summary` an.
Erklärung : Diese `PROC SUMMARY` berechnet den durchschnittlichen Einzelhandelspreis (`MSRP`) der Autos. Die Statistiken werden nach `origin` und `make` (Klassifikationsvariablen) gruppiert. Die Option `NWAY` stellt sicher, dass die Ausgabe nur die detailliertesten Kombinationen der `CLASS`-Variablen enthält. Das Ergebnis, mit der Variable `average_msrp`, wird im Datensatz `msrp` gespeichert.
Kopiert!
proc summary data = sashelp.cars nway;
class origin make;
var msrp;
output out = msrp mean(msrp) = average_msrp;
run;
1
PROC SUMMARYDATA = sashelp.cars nway;
2
class origin make;
3
var msrp;
4
OUTPUT out = msrp mean(msrp) = average_msrp;
5
RUN;
4 Codeblock
PROC SUMMARY Data
Erklärung : Diese `PROC SUMMARY` berechnet die Mittelwerte der Variablen `wheelbase` und `weight` aus dem Datensatz `sashelp.cars`. Die berechneten Mittelwerte werden im Datensatz `WW_means` unter den Namen `mean_wheelbase` und `mean_weight` gespeichert.
Kopiert!
proc summary data = sashelp.cars;
var wheelbase weight;
output out = WW_means mean(WheelBase Weight) = mean_wheelbase mean_weight;
run;
1
PROC SUMMARYDATA = sashelp.cars;
2
var wheelbase weight;
3
OUTPUT out = WW_means mean(WheelBase Weight) = mean_wheelbase mean_weight;
4
RUN;
5 Codeblock
DATA STEP Data
Erklärung : Dieser `DATA`-Schritt erstellt einen neuen Datensatz `cars`. Er führt die Mittelwerte (`mean_wheelbase`, `mean_weight`) aus dem Datensatz `WW_means` mit `sashelp.cars` zusammen, indem er eine 'persistente Set'-Technik verwendet, bei der die Mittelwerte nur einmal beim ersten Datensatz (`_n_ eq 1`) gelesen werden. Anschließend werden die Abweichungen von `wheelbase` (`x_dev`) und `weight` (`y_dev`) von ihren Mittelwerten berechnet. Die Zeile `xy_dev = x_dev = y_dev;` führt einen logischen Vergleich durch und weist `xy_dev` den Wert 1 zu, wenn `x_dev` gleich `y_dev` ist, andernfalls 0. Für eine Pearson-Korrelationsberechnung sollte diese Zeile `xy_dev = x_dev * y_dev;` lauten.
Kopiert!
data cars;
set sashelp.cars;
if (_n_ eq 1) then set ww_means;
x_dev = wheelbase - mean_wheelbase;
y_dev = weight - mean_weight;
xy_dev = x_dev = y_dev;
output;
run;
1
DATA cars;
2
SET sashelp.cars;
3
IF (_n_ eq 1) THENSET ww_means;
4
x_dev = wheelbase - mean_wheelbase;
5
y_dev = weight - mean_weight;
6
xy_dev = x_dev = y_dev;
7
OUTPUT;
8
RUN;
6 Codeblock
PROC SUMMARY Data
Erklärung : Diese `PROC SUMMARY` nimmt den Datensatz `cars` als Eingabe. Sie berechnet die unkorrigierte Quadratsumme (`USS`) für `x_dev` und `y_dev` (gespeichert in `x_ss` und `y_ss`) und die Summe (`SUM`) von `xy_dev` (gespeichert in `xy_ss`). Diese Statistiken sind Zwischenwerte für die manuelle Berechnung des Pearson-Korrelationskoeffizienten.
Kopiert!
proc summary data = cars;
var x_dev y_dev xy_dev;
output out = dev uss(x_dev y_dev) = x_ss y_ss sum(xy_dev) = xy_ss;
run;
1
PROC SUMMARYDATA = cars;
2
var x_dev y_dev xy_dev;
3
OUTPUT out = dev uss(x_dev y_dev) = x_ss y_ss sum(xy_dev) = xy_ss;
4
RUN;
7 Codeblock
DATA STEP Data
Erklärung : Dieser `DATA`-Schritt nimmt den Datensatz `dev` und fügt eine neue Variable `PearsonCorrelation` hinzu. Er verwendet die Standardformel zur Berechnung des Pearson-Korrelationskoeffizienten aus den Quadratsummen (`x_ss`, `y_ss`) und der Summe der Produkte der Abweichungen (`xy_ss`). Aufgrund des Fehlers bei der Berechnung von `xy_dev` in einem früheren `DATA`-Schritt wird die hier berechnete `PearsonCorrelation` jedoch nicht die wahre Korrelation darstellen.
Kopiert!
data dev;
set dev;
PearsonCorrelation = xy_ss/(sqrt(x_ss) *sqrt(y_ss));
run;
Erklärung : Diese `PROC CORR` berechnet direkt den Pearson-Korrelationskoeffizienten zwischen den Variablen `WheelBase` und `Weight` des Datensatzes `sashelp.cars`. Dies ist die Standard- und empfohlene Methode zur Ermittlung von Korrelationen.
Kopiert!
proc corr data = sashelp.cars;
var WheelBase Weight;
run;
1
2
PROC CORR
3
DATA = sashelp.cars;
4
var WheelBase Weight;
5
RUN;
6
9 Codeblock
PROC REG
Erklärung : Diese `PROC REG` führt eine lineare Regressionsanalyse durch. Sie modelliert die Variable `weight` (abhängig) in Abhängigkeit von der Variable `wheelbase` (unabhängig) unter Verwendung des Datensatzes `sashelp.cars` und liefert Statistiken zur Modellanpassung, Regressionskoeffizienten und ANOVA.
Kopiert!
proc reg data=sashelp.cars;
model weight=wheelbase;
run;
1
2
PROC REG
3
DATA=sashelp.cars;
4
model weight=wheelbase;
5
RUN;
6
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.