Die 'hyperGroup.hypergroup'-Aktion dient dazu, Hypergruppen, Graph-Layouts, Farben, Gemeinschaften, Zentralitäten und kürzeste Pfade in Graphen zu finden sowie strukturelle und N-Körper-Graphen zu erstellen. Diese Aktion ermöglicht eine umfassende Analyse von Graphen und Netzwerken, um deren Struktur und Eigenschaften zu verstehen.
| Parameter | Beschreibung |
|---|---|
| absFreq | Verwendet den Absolutwert der Frequenzen, nützlich, wenn Frequenzdaten Korrelationen sind. |
| allGraphs | Gibt an, dass das Layout mehrerer oder aller Hypergruppen-Graphen zusammen in einem Rahmen bestimmt werden soll. Verwenden Sie allGraphsMin= und allGraphsMax=, um zu steuern, welche Graphen qualifiziert sind. |
| allGraphsMax | Gibt die maximale Anzahl von Knoten an, die ein Graph haben darf, um für ein allGraphs-Layout in Frage zu kommen. Denken Sie daran, die allGraphs-Option anzugeben oder auszuwählen. |
| allGraphsMin | Gibt die minimale Anzahl von Knoten an, die ein Graph haben muss, um für ein allGraphs-Layout in Frage zu kommen. Denken Sie daran, die allGraphs-Option anzugeben oder auszuwählen. |
| AllGraphsnBody | Gibt die ungefähre Anzahl der Knoten an, die im N-Körper-AllGraphs gewünscht wird. |
| allGraphsPerGroupBy | Gibt an, dass das allGraph-Layout pro Kombination von GroupBy-Variablenwerten erfolgt und nicht alle zusammen, unabhängig von gbvvc. Wird verwendet, wenn readEdges und useAllGraphs angegeben sind. |
| amplifyVertSizes | Gibt an, dass Knotengrößen, die größer als der Durchschnitt sind, mit diesem Wert multipliziert werden, und Knotengrößen, die kleiner als der Durchschnitt sind, durch diesen Wert geteilt werden. |
| attributes | Attribute der Spalten in der Eingabeliste. |
| betweenVertexAndVertex2 | Gibt an, dass nur die kürzesten Pfade zwischen vertex= und vertex2= (oder vertexNumber= und vertex2Number=) in die ShortestPaths-Tabelle eingefügt werden. |
| c | Gibt die relative Stärke lokaler Kräfte zu globalen Kräften in Bezug auf die Anordnung der Positionen von Knoten und Kanten an. Ein Tuning-Parameter für Layout-Algorithmen. |
| casOut | Gibt die Einstellungen für eine Ausgabetabelle an. |
| centrality | Gibt an, dass Zentralitäten bestimmt werden sollen – ein Maß für die relative Bedeutung jedes Knotens. |
| closeIters | Gibt die Anzahl der Iterationen des Layout-Algorithmus an, die ausgeführt werden sollen, bevor (neu) festgestellt wird, welche Knoten nahe beieinander liegen, um Kräfte aufeinander auszuüben. |
| color | Gibt an, dass Farben bestimmt werden sollen. |
| commAlg | Gibt den Algorithmustyp an, mit dem Gemeinschaften bestimmt werden. Mögliche Werte: 'ASYNCHRONOUS', 'LLSEMISYNCHRONOUS', 'LLSYNCHRONOUS', 'SEMISYNCHRONOUS', 'SYNCHRONOUS'. |
| commCentrality | Gibt an, dass Zentralitäten für jede Gemeinschaft benötigt werden. |
| commIters | Gibt die maximale Anzahl von Iterationen an, die der Gemeinschaftsalgorithmus ausführen kann. |
| commlayouts | Gibt an, dass Layouts für jede Gemeinschaft benötigt werden. |
| commMax | Gibt die Anzahl der Iterationen des Gemeinschaftsalgorithmus an, die durchgeführt werden sollen, bevor der Parameter commPrecedence= zur Entscheidung über die Zuweisung verwendet wird. |
| commPrecedence | Gibt die Art und Weise an, wie der Gemeinschaftsalgorithmus entscheidet, welcher Gemeinschaft ein Knoten angehört, wenn eine Wahl besteht. |
| community | Gibt an, dass Gemeinschaften bestimmt werden sollen. |
| copyVars | Gibt die Liste der Spalten (neben Eingabe- und GroupBy-Spalten) an, die in den Ausgabetabellen erscheinen sollen. |
| createOut | Gibt an, ob die casOut-Tabelle erstellt werden soll. Mögliche Werte: 'ALWAYS', 'MULTIPLE', 'NEVER'. |
| defaultVertSize | Gibt die Standardknotengröße an. |
| degree | Gibt an, dass Knotengrade ausgegeben werden sollen. Wenn gerichtet, werden sowohl der Eingangs- als auch der Ausgangsgrad ausgegeben. |
| directed | Gibt an, dass der Graph gerichtet ist (Kanten haben eine Richtung). |
| edges | Gibt die Ausgabetabelle mit Kanteninformationen an. |
| edges2 | Gibt die Ausgabetabelle mit Kanteninformationen für farbige strukturelle Graphen an. |
| edges3 | Gibt die Ausgabetabelle mit Kanteninformationen für strukturelle Graphen von Gemeinschaften an. |
| edges4 | Gibt die Ausgabetabelle mit Kanteninformationen für N-Körper-Graphen an. |
| edges5 | Gibt die Ausgabetabelle mit Kanteninformationen für die Knotenanalyse basierend auf Vertex= an. |
| edges6 | Gibt die Ausgabetabelle mit Kanteninformationen für N-Körper-AllGraphs an. |
| farAway | Gibt den Grad an, in dem zwei Knoten als zu weit voneinander entfernt angesehen werden, um Kräfte aufeinander auszuüben. Ein Tuning-Parameter für den Layout-Algorithmus. |
| frequency | Gibt die Liste der Spalten an, die Kantefrequenz (oder Volumen, Verkehr, oder Fluss) Daten enthalten. |
| graphPartition | Gibt an, dass die Graphpartitionierung verwendet werden soll – die Layout-Algorithmen (die von layout= und parallel= abhängen) werden zu Unteralgorithmen. Zeitaufwendiger, aber das Layout ist oft von besserer Qualität. |
| gridCentralities | Gibt an, dass Zentralitäten von Gitter-Workern anstatt nur vom Gitter-Controller bestimmt werden. Denken Sie daran, die Zentralitätsoption anzugeben oder anzuhaken. |
| groupByLimit | Gibt die maximale Anzahl von Ebenen in einem Group-by-Set an. Wenn der Server diese Anzahl von Ebenen ermittelt, stoppt der Server und gibt kein Ergebnis zurück. Geben Sie diesen Parameter an, wenn Sie die Erstellung großer Ergebnismengen bei Group-by-Operationen vermeiden möchten. |
| groupbyTable | Gibt eine Eingabetabelle an, die die Gruppen enthält, die in einer Group-by-Analyse verwendet werden sollen. Enthält Subparameter wie casLib, dataSourceOptions, importOptions, name, where. |
| height | Gibt die Höhe des Rahmens an, wenn threeD angegeben ist. |
| highDegree | Gibt an, dass das Layout initial ohne Knoten mit hohem Grad bestimmt wird, d.h. Knoten mit einem Grad von mindestens highdegree= mal der Anzahl der Knoten im Graphen. |
| implicitFrequencies | Gibt an, dass Frequenzen implizit sind, d.h. jede Kante, die in den Daten eine bestimmte Anzahl von Malen vorhanden ist, erhält diesen Frequenzwert. |
| indexC | Gibt an, dass Knotenindizes ausgegeben werden sollen, wenn Knoten in jeder Gemeinschaft zusammen sind. |
| inputs | Gibt die Liste der Spalten zum Hypergruppen an, d.h. Werte werden zu Graph-Knoten. |
| journalTrace | Gibt an, dass eine Ablaufverfolgung (was die Aktion tut) protokolliert werden soll, die auf der Konsole erscheint. |
| keepAllVertices | Gibt an, dass alle Knoten in den Daten ausgegeben werden sollen, auch wenn keine Kanten an sie angrenzen. |
| layout | Gibt den Typ des Layout-Algorithmus an. Mögliche Werte: 'FRUCHGOLD', 'WALSHAW'. |
| length | Gibt die Länge des Rahmens an. |
| longestShortestPath | Gibt an, dass nur kürzeste Pfade, die kleiner oder gleich dieser Länge sind, in die ShortestPaths-Tabelle eingefügt werden. |
| margin | Gibt den Rand um den Rahmen an, der frei von Knotenkoordinaten bleibt. |
| maxDepth | Gibt die maximale Tiefe (und damit die Nähe) an, die Knoten im N-Körper-Graph oder -Plot haben können. |
| maxNodes | Gibt an, dass die Graphpartitionierung fortgesetzt wird, solange jeder unpartitionierte Untergraph mindestens diese Anzahl von Knoten hat, oder mit anderen Worten, die maximale Anzahl von Knoten in Untergraphen nach der Graphpartitionierung diese Zahl ist. |
| mergeColorSmallest | Wenn minColorVertices= angegeben ist, werden kleine Farben in kleine Farben zusammengeführt. |
| mergeCommSmallest | Wenn minCommVertices= angegeben ist, werden kleine Gemeinschaften in kleine Gemeinschaften zusammengeführt. |
| minColorVertices | Farben mit dieser Anzahl von Knoten oder weniger werden mit anderen Farben zusammengeführt. |
| minCommVertices | Gemeinschaften mit dieser Anzahl von Knoten oder weniger werden mit anderen Gemeinschaften zusammengeführt. |
| nameSpace | Gibt die Liste der ganzen Zahlen an, die angeben, welche Spalten der Eingabevariablenliste zu verschiedenen Namensräumen gehören. |
| nBody | Gibt die ungefähre Anzahl der Knoten an, die im N-Körper-Graph gewünscht wird. Wenn maxDepth angegeben ist, ist nBody= die maximale Anzahl der gewünschten Knoten. |
| nColors | Kleine Farben werden zu größeren Farben zusammengeführt, bis diese Anzahl von Farben übrig bleibt. |
| nCommunities | Kleine Gemeinschaften werden zu größeren Gemeinschaften zusammengeführt, bis diese Anzahl von Gemeinschaften übrig bleibt. |
| nearestCenter | Gibt an, dass für alle Zellen der dem Massenmittelpunkt der Zellen nächste Körper identifiziert werden soll. Siehe die Spalte _NearestCenter_ in der casOut-Tabelle. |
| nIters | Gibt die maximale Anzahl von Iterationen an, die die Layout-Algorithmen ausführen können. |
| noColor | Gibt an, dass keine Farben benötigt werden. |
| noColourStrlCoord | Gibt an, dass keine Koordinaten der farbigen strukturellen Graphen benötigt werden. _XCoord_, _YCoord_, ... usw. in der Tabelle vertices3= und _SourceX_, _TargetY_, ... usw. in der Tabelle edges3= werden nicht benötigt. |
| noCommStrlCoord | Gibt an, dass keine Koordinaten der strukturellen Graphen der Gemeinschaft benötigt werden. _XCoord_, _YCoord_, ... usw. in der Tabelle vertices3= und _SourceX_, _TargetY_, ... usw. in der Tabelle edges3= werden nicht benötigt. |
| noCoord | Gibt an, dass Koordinaten der Hypergruppen-Graphen nicht benötigt werden. |
| noPendants | Gibt an, dass bei der Graphpartitionierung keine anhängenden Knoten anfänglich in Layouts ausgeschlossen werden sollen. Die Bestimmung von Layouts ohne anhängende Knoten kann zu Layouts von besserer Qualität führen, erfordert jedoch ein zusätzliches Layout, bei dem sie wieder eingefügt werden. |
| noVars | Die Standard-copyVars-Variablenliste enthält alle Spalten, die nicht in den Eingabe-, GroupBy-, Gewichtungs- oder Frequenz-Variablenlisten enthalten sind – noVars gibt an, dass diese Standardeinstellung keine Spalten sein soll. |
| nShortestPaths | Gibt die Anzahl der kürzesten Pfade an, die in die ShortestPaths-Tabelle eingefügt werden. Dies sind die kürzesten Pfade von vertex=, und falls vertex2= angegeben ist, von vertex2=. |
| nThreads | Gibt die Anzahl der Threads an, die auf jeder Maschine im Server verwendet werden sollen. Standardmäßig verwendet der Server einen Thread für jede CPU, die zur Nutzung von SAS-Software lizenziert ist. |
| numericLabels | Gibt an, dass die Variablen der Eingabevariablenliste numerische Werte haben, d.h. ganze Zahlen oder reelle Zahlen sein können. |
| nWorkerThreads | Gibt die maximale Anzahl von Threads an, die jeder Worker ausführen darf. |
| outputNamedTables | Gibt an, dass Ausgabetabellen nur dann erstellt werden, wenn ihr Name angegeben ist. |
| parallel | Gibt an, wie der N-Körper-Layout-Algorithmus ausgeführt wird: nicht-threaded, threaded, threaded und gegridded, oder gar nicht. 0: N-Körper-Layout wird nicht verwendet. -1: nicht-gegriddeter nicht-threaded N-Körper-Algorithmus wird verwendet. -2: nicht-gegriddeter nicht-threaded synchronisierter Update-N-Körper-Algorithmus wird verwendet. >=1: nicht-gegriddeter threaded (parallel=Threads) N-Körper-Algorithmus wird verwendet. Andernfalls wird ein gegriddeter threaded N-Körper-Algorithmus verwendet, wobei jeder Worker -parallel-2 Threads verwendet. |
| particulars | Gibt an, dass für jeden Graphen die Anzahl der Knoten, Kanten und gegebenenfalls die Eigenschaften der Kanten im Journal ausgegeben werden sollen. |
| radians | Gibt an, dass der Winkel für die Zentralität in Radiant anstatt in Grad angegeben werden soll. |
| reachable | Gibt an, dass die Tabellen vertices5= und edges5= nur Datensätze für Knoten enthalten sollen, die von vertex= erreichbar sind. |
| readEdges | Gibt an, dass die Eingabetabelle zuvor von einem Hypergroup-Lauf als Edges=-Ausgabetabelle erstellt wurde. Das Lesen ist schneller. |
| scaleCentralities | Gibt an, ob Stress-, Closeness- und Betweenness-Zentralitäten skaliert werden oder nicht und, für diese Zentralitäten, ob die der zentralsten Knoten Werte um 1 oder um 0 haben. Mögliche Werte: 'CENTRAL0', 'CENTRAL1', 'NONE'. |
| scaleCoords | Gibt an, dass die Koordinaten so skaliert werden sollen, dass sie innerhalb des Rahmens gemäß width=, length= und height= liegen, ebenfalls durch margin= geregelt. |
| separator | Gibt den Typ des Separators an, den die Graphpartitionierung verwendet. Mögliche Werte: 'EDGES', 'HYBRID', 'VERTICES'. |
| shortestPaths | Gibt die Ausgabetabelle an, die die kürzesten Pfade für die Knotenanalyse enthält, basierend auf Vertex= und gegebenenfalls Vertex2=. |
| shortestPathStart | Gibt an, dass, wenn der Graph gerichtet ist, vertex=, vertexNumber= oder vertexNumeric= der Startpunkt der kürzesten Pfade ist, nicht deren Ziel. |
| sortImportance | Gibt an, dass die Körper innerhalb einer Körperzelle nach ihrer Wichtigkeit sortiert werden sollen. |
| sourcePinned | Wenn Gewichte oder Frequenzen vorhanden sind, wird das i-te Gewicht und die Frequenz der Kante zugeordnet, die am i-ten Wert der Eingabevariablen beginnt. Wenn sourcePinned nicht angegeben ist, wird das i-te Gewicht und die Frequenz der Kante zugeordnet, die zum (i+1)-ten Wert der Eingabevariablen gerichtet ist. |
| standardizedLabels | Gibt an, dass die Daten ein standardisiertes Beschriftungsformat haben, d.h. die Variablen der Eingabevariablenliste haben ganzzahlige Werte 0 1 2..., oder 1 2 3... |
| startFromCSG | Beginnt mit dem strukturellen Graph der Gemeinschaft und fügt Knoten und Kanten hinzu, um das gesamte Graph-Layout zu erhalten. |
| structural | Gibt an, welche Art von strukturellen Graphen benötigt werden. Mögliche Werte: 'BOTH', 'COLOUR', 'COMMUNITY', 'NONE'. |
| table | Gibt die Tabelle an, die die Eingabedaten enthält. |
| threeD | Gibt an, dass die Layout-Algorithmen Koordinaten für Knoten in 3 Dimensionen bestimmen sollen. |
| topLeft | Gibt an, dass der Punkt (0,0) oder (0,0,0) des Rahmens oben links statt unten links ist. Manchmal notwendig, damit 0 Grad senkrecht nach oben zeigt. |
| useAllGraphs | Beim Lesen einer Tabelle, die zuvor eine Edges=-Ausgabetabelle war, werden AllGraphs-Koordinaten gelesen, anstatt sie neu zu bestimmen. |
| useColors | Beim Lesen einer Tabelle, die zuvor eine Edges=-Ausgabetabelle war, werden Farben gelesen, anstatt sie neu zu bestimmen. |
| useCommunities | Beim Lesen einer Tabelle, die zuvor eine Edges=-Ausgabetabelle war, werden Gemeinschaften gelesen, anstatt sie neu zu bestimmen. |
| useCoords | Beim Lesen einer Tabelle, die zuvor eine Edges=-Ausgabetabelle war, werden Koordinaten gelesen, anstatt ein Layout neu zu bestimmen. |
| useVertSizes | Beim Lesen einer Tabelle, die zuvor eine Edges=-Ausgabetabelle war, werden Knotengrößen gelesen, anstatt eine verticesIn=-Tabelle zu lesen. |
| vertex | Gibt den Knoten an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertex2 | Gibt den zweiten Knoten an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertex2NameSpace | Gibt den Namensraum des zweiten Knotens an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertex2Number | Wenn standardizedLabels= angegeben ist, gibt vertex2Number den zweiten Knoten an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertex2Numeric | Wenn numericLabels= angegeben ist, gibt vertex2Numeric den zweiten Knoten an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertexAnalytics | Gibt an, dass Knotenanalysen durchgeführt werden sollen. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertexNameSpace | Gibt den Namensraum des Knotens an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertexNumber | Wenn standardizedLabels= angegeben ist, gibt vertexNumber den Knoten an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertexNumeric | Wenn numericLabels= angegeben ist, gibt vertexNumeric den Knoten an, auf dem die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| verticeNumbersList | Gibt die Liste der Knoten (mit standardisierten Bezeichnungen) an, auf denen die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| verticeNumericsList | Gibt die Liste der Knoten (mit numerischen Namen) an, auf denen die Knotenanalyse durchgeführt werden soll. Die Ergebnisse werden in die Tabellen vertices5= und edges5= eingefügt. |
| vertices | Gibt die Ausgabetabelle mit Knoteninformationen an. |
| vertices2 | Gibt die Ausgabetabelle mit Knoteninformationen für farbige strukturelle Graphen an. |
| vertices3 | Gibt die Ausgabetabelle mit Knoteninformationen für strukturelle Graphen von Gemeinschaften an. |
| vertices4 | Gibt die Ausgabetabelle mit Knoteninformationen für N-Körper-Graphen an. |
| vertices5 | Gibt die Ausgabetabelle mit Knoteninformationen für die Knotenanalyse basierend auf Vertex= an. |
| vertices6 | Gibt die Ausgabetabelle mit Knoteninformationen für N-Körper-AllGraphs an. |
| verticesIn | Gibt die Eingabetabelle an, die Knoteninformationen enthält. |
| vInAttributes | Attribute von Spalten in der vInInputs-Liste. |
| vInInputs | Gibt die Liste der Spalten in der verticesIn-Tabelle an. |
| vInOnlyAllCoord | Wird verwendet, um allGraph-Koordinaten für Knoten in verticesIn, aber nicht in der Tabelle festzulegen oder zu berechnen. |
| vInOnlyVaryCoord | Gibt an, dass für Knoten in verticesIn, die aber nicht in der Tabelle enthalten sind, _AllXCoord_ anders ist, wenn vInOnlyVaryCoord={'X'} angegeben ist, _AllYCoord_ anders ist, wenn vInOnlyVaryCoord={'Y'} angegeben ist, _AllZCoord_ anders ist, wenn vInOnlyVaryCoord={'Z'} angegeben ist, oder _AllXCoord_, _AllYCoord_ und _AllZCoord_ fehlende Werte sind, wenn vInOnlyVaryCoord={'MISSING'} angegeben ist. Mögliche Werte: 'MISSING', 'X', 'Y', 'Z'. |
| weight | Gibt die Liste der Spalten an, die Daten zum Kantengewicht oder zur Entfernung enthalten. |
| whichPaths | Für verticesList, verticeNumbersList oder verticeNumericsList: Welche kürzesten Pfade zwischen diesen Knoten sind erforderlich? Mögliche Werte: 'ALL', 'MINSPANTREE', 'SEQUENTIAL'. |
| width | Gibt die Breite des Rahmens an. |
| xMax | Gibt die maximale X-Koordinate an, die Knoten bei der Bestimmung eines N-Körper-Graphen haben. |
| xmin | Gibt die minimale X-Koordinate an, die Knoten bei der Bestimmung eines N-Körper-Graphen haben. |
| yMax | Gibt die maximale Y-Koordinate an, die Knoten bei der Bestimmung eines N-Körper-Graphen haben. |
| ymin | Gibt die minimale Y-Koordinate an, die Knoten bei der Bestimmung eines N-Körper-Graphen haben. |
| zeroTol | Gibt die größte Differenz zwischen Gleitkommazahlen an, bevor sie als unterschiedlich angesehen werden, oder den Betrag, um den eine solche Zahl von Null abweichen darf, um als nicht Null angesehen zu werden. |
| zMax | Gibt die maximale Z-Koordinate an, die Knoten bei der Bestimmung eines N-Körper-Graphen haben. |
| zMin | Gibt die minimale Z-Koordinate an, die Knoten bei der Bestimmung eines N-Körper-Graphen haben. |
Da keine spezifischen Anweisungen zur Datenerstellung im bereitgestellten HTML-Snippet gefunden wurden, wird hier ein allgemeines Beispiel für die Erstellung von CAS-Tabellen eingefügt, das typischerweise vor der Verwendung von CAS-Aktionen erforderlich ist.
| 1 | DATA casuser.my_graph_data; |
| 2 | INPUT SOURCE $ target $ weight; |
| 3 | DATALINES; |
| 4 | A B 1 |
| 5 | B C 2 |
| 6 | C D 1 |
| 7 | D A 3 |
| 8 | E F 1 |
| 9 | F G 2 |
| 10 | G H 1 |
| 11 | H E 3 |
| 12 | A E 1 |
| 13 | B F 1 |
| 14 | C G 1 |
| 15 | D H 1 |
| 16 | ; |
| 17 | RUN; |
| 18 | |
| 19 | PROC CASUTIL; |
| 20 | load casdata="my_graph_data" casout="myGraph" replace; |
| 21 | RUN; |
Dieses Beispiel zeigt, wie die 'hypergroup'-Aktion verwendet wird, um ein einfaches Layout für einen Graphen zu generieren, ohne spezifische erweiterte Optionen.
| 1 | PROC CAS; |
| 2 | hyperGroup.hypergroup TABLE={name="myGraph", caslib="casuser"} layout="FRUCHGOLD"; |
| 3 | RUN; |
| 4 | QUIT; |
Dieses Beispiel demonstriert die Verwendung der 'hypergroup'-Aktion, um ein Graph-Layout zu erstellen, die Zentralität jedes Knotens zu berechnen und Gemeinschaften im Graphen zu identifizieren. Es werden auch die Ausgabetabellen für Knoten und Kanten festgelegt.
| 1 | PROC CAS; |
| 2 | hyperGroup.hypergroup |
| 3 | TABLE={name="myGraph", caslib="casuser"} |
| 4 | layout="WALSHAW" |
| 5 | centrality=TRUE |
| 6 | community=TRUE |
| 7 | vertices={name="myVerticesOut", caslib="casuser", replace=TRUE} |
| 8 | edges={name="myEdgesOut", caslib="casuser", replace=TRUE} |
| 9 | ; |
| 10 | RUN; |
| 11 | QUIT; |