Veröffentlicht am :
Statistik CREATION_INTERNE

Kardinalitätsanalyse einer Variablen: Spezifische Ebenen

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Die CARDINALITY-Prozedur ermöglicht die Bestimmung der Anzahl der eindeutigen Ebenen (Kardinalität) für jede angegebene Variable sowie die Identifizierung der Häufigkeit jeder Ebene. Dieses Beispiel vertieft die Exploration durch das Filtern von Daten, um die Kardinalität und die Häufigkeitsverteilung der Werte einer Variablen ('SepalLength') über einen bestimmten Schwellenwert hinaus zu analysieren. Es zeigt auch, wie die Ergebnisse als Histogramm visualisiert und die Informationen zur maximalen Häufigkeit der Ebenen interpretiert werden können. Die folgenden Beispiele veranschaulichen verschiedene Anwendungen der Prozedur, von den grundlegendsten bis zu komplexeren Fällen, die alle in der CAS-Umgebung von SAS© Viya ausgeführt werden.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden Daten, die aus der in der CAS-Sitzung geladenen SASHELP-Bibliothek (iris) generiert wurden.

1 Codeblock
PROC CARDINALITY / DATA STEP Data
Erklärung :
Dieses Beispiel veranschaulicht die einfachste Verwendung von PROC CARDINALITY. Es lädt den Datensatz 'sashelp.iris' in eine CAS-Sitzung unter dem Namen 'mycas.iris'. Anschließend führt es die CARDINALITY-Prozedur für die Variable 'Species' aus, wodurch eine Kardinalitätstabelle ('outcard') und eine Tabelle mit Ebenendetails ('outdetails') generiert werden. Die Ergebnisse werden mit PROC PRINT angezeigt.
Kopiert!
1CAS;
2LIBNAME mycas cas;
3 
4/* Charger le jeu de données Iris de SASHELP vers la session CAS */
5DATA mycas.iris;
6 SET sashelp.iris;
7RUN;
8 
9/* Exemple 1 : Utilisation Basique pour la variable Species */
10PROC CARDINALITY DATA=mycas.iris outcard=mycas.card_species outdetails=mycas.details_species;
11 var Species;
12RUN;
13 
14PROC PRINT DATA=mycas.card_species;
15 title 'Cardinalité basique pour la variable Species';
16RUN;
17 
18PROC PRINT DATA=mycas.details_species;
19 title 'Détails des niveaux pour la variable Species';
20RUN;
2 Codeblock
PROC CARDINALITY / PROC SGPLOT
Erklärung :
Dieses Beispiel demonstriert die Verwendung der Optionen 'MAXLEVELS', um die Anzahl der angezeigten detaillierten Ebenen zu begrenzen, und 'DESCENDING', um diese Ebenen nach Häufigkeit in absteigender Reihenfolge zu sortieren. Es generiert auch ein Histogramm, um die Verteilung der 10 häufigsten Ebenen von 'SepalLength' zu visualisieren.
Kopiert!
1/* Exemple 2 : Utilisation avec des options courantes (MAXLEVELS et DESCENDING) */
2/* Analyse de SepalLength avec un nombre limité de niveaux affichés et tri décroissant */
3PROC CARDINALITY DATA=mycas.iris outcard=mycas.card_sepal_full outdetails=mycas.details_sepal_full maxlevels=10 descending;
4 var SepalLength;
5RUN;
6 
7PROC PRINT DATA=mycas.card_sepal_full;
8 title 'Cardinalité complète pour SepalLength (10 niveaux max, ordre décroissant)';
9RUN;
10 
11PROC SGPLOT DATA=mycas.details_sepal_full;
12 vbar _cfmt_ / freq=_freq_ categoryorder=DATA;
13 title 'Histogramme des 10 niveaux les plus fréquents de SepalLength';
14RUN;
3 Codeblock
PROC CARDINALITY / DATA STEP / PROC SGPLOT
Erklärung :
Dieses Beispiel greift das Szenario des Dokuments auf und filtert die Daten, um nur Beobachtungen einzuschließen, bei denen 'SepalLength' größer als 4.7 ist. Die CARDINALITY-Prozedur wird mit 'MAXLEVELS=5' ausgeführt, was bedeutet, dass nur die 5 häufigsten Ebenen detailliert werden, während die anderen gruppiert werden. Ein DATA-Schritt wird verwendet, um die Ausgabedaten für PROC SGPLOT vorzubereiten, indem ein '>' vor die gruppierten Werte gesetzt wird, um sie zu unterscheiden. Schließlich wird ein Histogramm generiert und die Informationen zur maximalen Häufigkeit angezeigt.
Kopiert!
1/* Exemple 3 : Cas Avancé - Analyse des niveaux de SepalLength > 4.7 et visualisation */
2PROC CARDINALITY DATA=mycas.iris (where=(SepalLength > 4.7))
3 outcard=mycas.card_sepal_gt47
4 outdetails=mycas.details_sepal_gt47
5 maxlevels=5; /* Limite à 5 niveaux pour cet exemple */
6 var SepalLength;
7RUN;
8 
9/* Préparation des données pour SGPLOT : ajoute '>' aux niveaux 'Autres' pour le graphique */
10DATA mycas.sp_gt47;
11 SET mycas.details_sepal_gt47;
12 label _cfmt_='Valeur formatée de SepalLength > 4.7';
13 IF _index_ = . THEN DO; /* Si _index_ est manquant, c'est la catégorie 'Autres' */
14 _cfmt_=cats(">",_cfmt_);
15 END;
16 _cfmt_=left(_cfmt_); /* Nettoie les espaces */
17RUN;
18 
19PROC SGPLOT DATA=mycas.sp_gt47;
20 vbar _cfmt_ / freq=_freq_;
21 title 'Histogramme des niveaux de SepalLength > 4.7';
22RUN;
23 
24/* Affichage des informations de fréquence maximale pour ce cas */
25PROC PRINT DATA=mycas.card_sepal_gt47;
26 title 'Informations de fréquence maximale pour SepalLength > 4.7';
27 var _varname_ _mf:;
28RUN;
4 Codeblock
PROC CARDINALITY
Erklärung :
Dieses Beispiel hebt die Fähigkeit der CARDINALITY-Prozedur hervor, auf CAS-Daten ausgeführt zu werden. Es analysiert die Kardinalität mehrerer Variablen gleichzeitig. Die Option 'OUTPUT' mit 'MINRATIO' wird verwendet, um Variablen zu identifizieren, deren Kardinalität (Anzahl der eindeutigen Ebenen) einen bestimmten Prozentsatz (hier 80%) der Gesamtzahl der Beobachtungen übersteigt, was nützlich sein kann, um Identifikatoren oder Variablen mit geringer Varianz zu erkennen.
Kopiert!
1/* Exemple 4 : Intégration Viya/CAS - Analyse de plusieurs variables et détection de cardinalité */
2/* Cet exemple illustre l'exécution en mémoire distribuée (CAS) */
3PROC CARDINALITY DATA=mycas.iris outcard=mycas.multi_var_card maxlevels=10;
4 var SepalLength SepalWidth PetalLength PetalWidth Species;
5 OUTPUT out=mycas.high_card_vars minratio=0.8; /* Garde les variables dont la cardinalité dépasse 80% des observations */
6RUN;
7 
8PROC PRINT DATA=mycas.multi_var_card;
9 title 'Cardinalité pour plusieurs variables';
10RUN;
11 
12PROC PRINT DATA=mycas.high_card_vars;
13 title 'Variables avec une cardinalité supérieure à 80% des observations';
14RUN;
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.