Veröffentlicht am :
Daten kombinieren CREATION_INTERNE

Beispiele: Daten verschachteln

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Verschachteln ist eine Technik zum Kombinieren von Daten, bei der Beobachtungen aus mehreren Datensätzen in einen neuen Datensatz verschachtelt werden. Um Datensätze zu verschachteln, müssen sie zuerst nach den angegebenen BY-Variablen sortiert oder indiziert werden. Der Prozess durchläuft jeden Datensatz sequenziell und kopiert die Beobachtungen unter Beachtung der Reihenfolge der BY-Variablen in den neuen Datensatz. Fehlende Werte werden für Variablen generiert, die in einem Datensatz vorhanden sind, aber in einem anderen fehlen. Es ist entscheidend, die Reihenfolge zu beachten, in der die Datensätze in der SET-Anweisung aufgeführt sind, da dies die Reihenfolge der Beobachtungen bestimmt, wenn BY-Variablenwerte dupliziert werden. Die folgenden Beispiele veranschaulichen das Verschachteln mit eindeutigen BY-Werten, duplizierten BY-Werten und unterschiedlichen BY-Werten zwischen den Eingabedatensätzen.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines), um die Eingabedatensätze 'animal', 'plant', 'animalDupes' und 'plantMissing2' zu erstellen. SASHELP wird nicht verwendet.

1 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Programm erstellt zwei Datensätze, 'animal' und 'plant', und sortiert sie dann nach der Variablen 'common'. Anschließend verschachtelt es diese Datensätze zu einem neuen Datensatz namens 'interleave'. Die Beobachtungen im Datensatz 'interleave' sind abwechselnd nach dem Wert der Variablen 'common' aus den Datensätzen 'animal' und 'plant' organisiert. Das Endergebnis wird von PROC PRINT angezeigt, wobei alle Variablen der beiden Eingabedatensätze mit fehlenden Werten angezeigt werden, wenn eine Variable in einem der ursprünglichen Datensätze nicht vorhanden ist.
Kopiert!
1DATA animal;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5b Bird
6c Cat
7d Dog
8e Eagle
9f Frog
10;
11RUN;
12 
13DATA plant;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19d Dewberry
20e Eggplant
21f Fig
22;
23RUN;
24 
25PROC SORT DATA=animal; BY common; RUN;
26PROC SORT DATA=plant; BY common; RUN;
27 
28DATA interleave;
29 SET animal plant;
30 BY common;
31RUN;
32PROC PRINT DATA=interleave; RUN;
2 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Beispiel erstellt zwei Datensätze, 'animalDupes' und 'plantDupes', die duplizierte Werte für die Variable 'common' enthalten. Nach dem Sortieren nach 'common' verschachtelt die SET-Anweisung die Beobachtungen. Angesichts der Reihenfolge 'animalDupes' gefolgt von 'plantDupes' in der SET-Anweisung erscheinen für duplizierte Werte von 'common' die Beobachtungen von 'animalDupes' vor denen von 'plantDupes'. Das Programm druckt dann den Datensatz 'interleave', der alle Beobachtungen der beiden Eingabedatensätze enthält, verschachtelt nach der Variablen 'common'.
Kopiert!
1DATA animalDupes;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantDupes;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19c Celery
20d Dewberry
21e Eggplant
22;
23RUN;
24 
25PROC SORT DATA=animalDupes; BY common; RUN;
26PROC SORT DATA=plantDupes; BY common; RUN;
27 
28DATA interleave;
29 SET animalDupes plantDupes;
30 BY common;
31RUN;
32 
33PROC PRINT DATA=interleave; RUN;
3 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Beispiel ist dem vorherigen ähnlich, aber die Reihenfolge der Datensätze in der SET-Anweisung ist umgekehrt ('plantDupes' gefolgt von 'animalDupes'). Dies zeigt, dass die Reihenfolge in der SET-Anweisung die Priorität bestimmt, wenn die Werte der BY-Variablen dupliziert werden. Für doppelte 'common'-Werte werden die Beobachtungen von 'plantDupes' vor denen von 'animalDupes' aufgelistet. Das Programm druckt den Datensatz 'interleave'.
Kopiert!
1DATA animalDupes;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantDupes;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19c Celery
20d Dewberry
21e Eggplant
22;
23RUN;
24 
25PROC SORT DATA=animalDupes; BY common; RUN;
26PROC SORT DATA=plantDupes; BY common; RUN;
27 
28DATA interleave;
29 SET plantDupes animalDupes; BY common;
30RUN;
31PROC PRINT DATA=interleave; RUN;
4 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Programm verschachtelt die Datensätze 'animalDupes' und 'plantMissing2', wobei beide Datensätze Werte für die Variable 'common' enthalten, die im jeweils anderen nicht vorhanden sind (z. B. 'd' in 'animalDupes' und 'f' in 'plantMissing2'). Nach dem Sortieren werden die Datensätze verschachtelt. Der resultierende Datensatz 'interleave' enthält alle Beobachtungen der beiden Eingabedatensätze, wobei fehlende Werte für Variablen erstellt werden, die in einem Datensatz für einen bestimmten 'common'-Wert nicht gefunden wurden. Das Programm druckt den Datensatz 'interleave'.
Kopiert!
1DATA animalDupes;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantMissing2;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19e Eggplant
20f Fig
21;
22RUN;
23 
24PROC SORT DATA=animalDupes; BY common; RUN;
25PROC SORT DATA=plantMissing2; BY common; RUN;
26 
27DATA interleave;
28 SET animalDupes plantMissing2;
29 BY common;
30RUN;
31 
32PROC PRINT DATA=interleave; RUN;
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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved