produeixen diagrames de pals no sembla que sorgeixi. Les opcions disponibles al procediment SAS GCHART no són tantes. Però per obtenir gràfics complexos, sovint és millor pensar en l’organització de la taula d’entrada SAS, ja sigui per buscar una opció que no existeixi. Alguns exemples per il·lustrar aquesta forma de pensar (per ampliar les imatges, feu-hi clic).

El procediment de Gracht estableix 4 rols per a variables presents a la taula SAS Llegiu:

  • La variable Sticks, citat a la instrucció VAR o HBAR (depenent de si els pals gràfics que es produiran seran horitzontals o verticals) directament després d’aquesta paraula clau;
  • La variable del grup, citat després de la barra inclinada i grup =; Produïm pals juxtaposats (costat a costat) amb un pal per a cada valor de la variable del grup i la variable de pals;
  • La variable de subgrups que es citen després del subgrup = opció =; A continuació, ajustem els pals amb àrees de color diferent per a cada valor de la variable de subgrup;
  • La variable estadística, citat després de l’opció Sumvar = (que no significa que els valors siguin, però és el variable resumida) que permet, amb l’opció tipus = suma o tipus = mitjana, per donar el mode de càlcul de les altures dels pals.
PROC GCHART DATA = tableLue ; VBAR | HBAR batons / GROUP = groupes SUBGROUP = sous_groupes SUMVAR = statistique TYPE = MEAN|SUM|FREQ|PCT DISCRETE ;RUN ; QUIT ;

Per exemple:

PROC GCHART DATA = sashelp.prdsale ; VBAR product ;RUN ; QUIT ;

Per defecte, amb una variable de caràcter de tipus en pals, i sense opcions, obtenim un pals per valor diferent d’aquesta variable, i les altures proporcionals a freqüències.

Proc gchart - Exemple 1 p

PROC GCHART DATA = sashelp.prdsale ; VBAR year ;RUN ; QUIT ;

Amb una variable digital de tipus digital, l’elecció realitzada automàticament pel procediment de GHALT és qüestionable. La variable té els seus valors tallats de tall (que són útils per produir un histograma, però de vegades curiosos com en aquest exemple).

Proc gchart - Exemple 2

PROC GCHART DATA = sashelp.prdsale ; VBAR year / DISCRETE ;RUN ; QUIT ;

En el cas que vulgueu evitar aquest comportament, afegirem l’opció discreta per tenir un pal per valor de la variable, independentment de la seva variable Tipus.

Proc gchart - Exemple 3

PROC GCHART DATA = sashelp.prdsale ; VBAR year / DISCRETE GROUP = country ;RUN ; QUIT ;

El grup d’opcions permet Obteniu diversos sèries de pals. Si volem comparar la acumulació dels pals, aquesta presentació no és la millor adaptada (és preferible el subgrup).

Proc gchart - Exemple 4 p>

PROC GCHART DATA = sashelp.prdsale ; VBAR year / DISCRETE SUBGROUP = country ;RUN ; QUIT ;

Amb l’opció de subgrup, el gràfic s’enriqueix automàticament amb una llegenda. Això es pot emmascarar afegint l’opció Noolegend a la declaració HBAR o VBAR.

Proc gchart - Exemple 5

PROC GCHART DATA = sashelp.prdsale ; VBAR year / DISCRETE SUBGROUP = country SUMVAR = sales TYPE = SUM ;RUN ; QUIT ;

Les opcions SUMVAR i TIPUS permeten sortir de les gràfiques només les freqüències.

Proc gchart - Exemple 6

També podem acumular totes aquestes opcions per representar 4 variables simultàniament al gràfic (pals, grups, subgrups i estadístiques). Estem al límit de tenir una representació incomprensible de les dades.

PROC GCHART DATA = sashelp.prdsale ; VBAR year / DISCRETE SUBGROUP = country SUMVAR = actual TYPE = SUM GROUP = product ;RUN ; QUIT ;

Proc gchart - Exemple 7

PROC GCHART DATA = sashelp.prdsale ; VBAR product / DISCRETE SUBGROUP = country SUMVAR = actual TYPE = SUM GROUP = year ;RUN ; QUIT ;

Proc gchart - Exemple 8

Cal assenyalar que l L’aparença del gràfic, si s’utilitza la declaració HBAR en lloc de Vbar, pot ser bastant diferent. Depenent del tipus gràfic de tipus (controlador), podrem veure les estadístiques a la dreta dels pals.

PROC GCHART DATA = sashelp.prdsale ; HBAR year / DISCRETE SUMVAR = actual TYPE = SUM ;RUN ; QUIT ;

Els dos gràfics següents són generats per la El mateix programa (a dalt), però en el primer cas utilitzem el controlador EMF, en el segon, Actimg (Imatge IMAGEX), per enviar el gràfic a un document de Word a través de les ODS RTF.

proc GCHART - exemple 9Proc gchart – Exemple 9

Proc gchart - Exemple 10

Per no veure, de manera que algunes estadístiques es mostren, Podeu afegir l’opció OSTATS a la declaració HBAR.

Exemple # 1: representen múltiples variables

Imagineu-vos que les vostres dades s’organitzen també:

Proc gchart - Exemple 11

Voleu representar, sobre pals juxtaposats, les vendes reals (1a columna, bruta real) i prediccions (2a columna, prevista), per país (país).

A l’estat, Les vostres dades no es poden prestar a aquest gràfic: l’opció SUMVAR només accepta una variable per gràfic. Per tant, és necessari transformar les dades abans de tenir en diferents observacions que es troben actualment en diferents variables.Transformar el que hi ha a les columnes de les línies és un treball de transposició: per tant, utilitzarem el procediment de transposició.

PROC SORT DATA = sashelp.prdsale OUT = work.ventes ; BY country region product year month division ;RUN ;PROC TRANSPOSE DATA = work.ventes OUT = work.ventes ; BY country region product year month division ; VAR actual predict ;RUN ;

L’aparició de les dades es converteix llavors aquesta. Aneu amb compte de no oblidar-nos de les variables en el moment d’obtenir només un pivot parcial de les dades (vegeu “El Proc de Transpose va explicar a la meva filla” disponible aquí).

Proc gchart - Exemple 12

És llavors “més que” construir el procediment GHART amb una opció de grup, a més d’una declaració d’etiqueta per gestionar correctament els títols, i el torn es reprodueix.

PROC GCHART DATA = work.ventes ; VBAR _name_ / DISCRETE GROUP = country SUMVAR = col1 TYPE = SUM ; LABEL col1 = "VENTES" _name_ = "REEL / PREDIT" ;RUN ; QUIT ;

Si també volem un color diferent Prediccions i realitat, només cal afegir l’opció de grup amb la variable _name_ (a més de la resta) per obtenir dos colors; L’opció Nolegend emmascararà una llegenda redundant.

PROC GCHART DATA = work.ventes ; VBAR _name_ / DISCRETE GROUP = country SUMVAR = col1 TYPE = SUM SUBGROUP = _NAME_ NOLEGEND ; LABEL col1 = "VENTES" _name_ = "REEL / PREDIT" ;RUN ; QUIT ;

Proc gchart - Exemple 14

Exemple # 2: Piràmide d’edat

A partir del nombre de francès per sexe i grup d’edat, es vol produir una piràmide de les edats. Aquest exemple il·lustra la possibilitat de fer pals en dues direccions diferents. També mostra l’aparença d’una declaració de patró per als colors de les barres, i una declaració d’eix per a graduacions de títols i eixos.

Aquí teniu la forma inicial de les dades:

Proc gchart - Exemple 15 Per poder realitzar la nostra piràmide, transposarem les dades, per tal de tenir una única variable per a les poblacions d’homes i dones, i dues sèries d’observacions per sexes.

El truc per tenir dues sèries de barres en direccions oposades és donar un signe negatiu a la població d’un dels dos sexes. Per poder fer totes aquestes operacions alhora, transposarem amb una fase de dades en lloc d’un procediment de transposició.

DATA work.pyramide (DROP = f h) ; SET work.recensement ; sexe = "F" ; pop = -1 * f ; OUTPUT ; sexe = "H" ; pop = h ; OUTPUT ;RUN ;

Proc gchart - Exemple 16

Afegirem a aquesta taula un rang variable que ens permetrà ordenar com es desitgi els grups d’edat (en una piràmide, per la convenció, els més antics estan a la pàgina part superior del gràfic). Per tant, es transforma lleugerament el programa anterior:

DATA work.pyramide (DROP = f h) ; SET work.recensement NOBS = n ; rang = n - _N_ ; sexe = "F" ; pop = -1 * f ; OUTPUT ; sexe = "H" ; pop = h ; OUTPUT ;RUN ;

Proc gchart - Exemple 17 A continuació, produïm un primer Versió de l’edat Pyramid: POP és la variable estadística, l’edat és la variable Sticks i es demana un subgrup de gènere. A continuació, obtenim això.

PROC GCHART DATA = work.pyramide ; HBAR age / DISCRETE NOSTATS SUMVAR = pop TYPE = SUM SUBGROUP = sexe ;RUN ; QUIT ;

Proc gchart - Exemple 18

en comparació Aquest primer resultat, primer ordre els pals com vulguem. Tenim l’opció Midpoints, darrere de la qual s’enumera, en les cometes, tots els valors d’edat que voleu veure, en aquest ordre. Per exemple, Midpoints = “U.S.A.” “Canadà” només mostra aquests dos valors en el gràfic i en aquest ordre. Per tant, caldria escriure, pel que fa a nosaltres, Midpoints = “100 anys o més” “95 a 99” … “de 5 a 9” de 0 a 4 anys “. Com ja hi ha 20 valors per llistar, és més simple (i menys arriscat) per generar-lo per programa amb una macro-variable.

PROC SQL NOPRINT ; SELECT DISTINCT QUOTE(STRIP(age)) INTO : valeurs SEPARATED BY " " FROM work.pyramide ORDER BY rang ;QUIT ;PROC GCHART DATA = work.pyramide ;HBAR age / DISCRETE NOSTATS SUMVAR = pop TYPE = SUM SUBGROUP = sexe MIDPOINTS = &valeurs ;RUN ; QUIT ;

Proc gchart - Exemple 19

Seguiu modificacions cosmètiques: elecció de colors, eliminació de graduacions sobre l’eix horitzontal (la de les estadístiques), canvi d’etiqueta en aquest mateix eix.

PATTERN1 C = ROSE ;PATTERN2 C = CYAN ;AXIS1 LABEL = (J=C "Femmes Hommes") MINOR=NONE MAJOR=NONE VALUE=NONE ;

Afegim espais entre dones i homes a l’etiqueta de l’eix horitzontal per trobar aquestes paraules de part i, d’altra banda, hi haurà Així, les etiquetes es centren aproximadament per a les dues zones del gràfic.

El menor, malor i valor = cap opcions que ajorneu les delicaments i la visualització de valors.

Quant al patró d’instruccions, ells Deixeu jugar sobre el color dels pals. L’opció COUTLINE al procediment de Gracht proporcionarà la manera de canviar el color de la línia que envolta els pals.

Si el patró1 i el patró2 s’associen automàticament amb les dues primeres zones de coloració del gràfic, Axis1 n ‘és Associat a l’eix horitzontal afegint l’opció RAXIS = AXIS1 a la declaració HBAR. Hi ha 3 eixos en un gràfic en pals:

  • raxis (eix de resposta) és l’eix d’estadístiques;
  • maxis (eix midpoins) és el dels valors dels pals;
  • Gaxis (Axis de grup) és el dels valors del grup.
PROC GCHART DATA = work.pyramide ; HBAR age / DISCRETE NOSTATS SUMVAR = pop TYPE = SUM SUBGROUP = sexe NOLEGEND MIDPOINTS = &valeurs COUTLINE = GRAY RAXIS = axis1 ;RUN ; QUIT ;

Leave a comment

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *