produzir diagramas de varas não parece surgir tarefa. As opções disponíveis no procedimento SAS GCHART não são tantos. Mas para obter alguns gráficos complexos, muitas vezes é melhor pensar na organização da tabela SAS de entrada, seja uma opção que possa não existir. Alguns exemplos para ilustrar essa maneira de pensar (para ampliar as imagens, clicar nele).

O procedimento de Gracht define 4 funções para variáveis presentes na tabela SAS Leia:

  • A variável vara, citada na instrução VBAR ou HBAR (dependendo se as varas gráficas a serem produzidas serão horizontais ou verticais) diretamente após esta palavra-chave;
  • a variável do grupo, citada após a barra de opções e grupo =; Nós produzimos varas justapostas (lado a lado) com uma vara para cada valor da variável do grupo e a variável de varas;
  • a variável de subgrupos citados após a opção subgrupo =; Em seguida, empilhamos as varas com áreas coloridas de forma diferente para cada valor da variável subgrupo;
  • a variável estatística, citada após a opção Sumvar = (que não significa que os valores sejam, mas é o variável resumida) que permite, com a opção tipo = soma ou tipo = significa, para dar o modo de cálculo das alturas de varas.
PROC GCHART DATA = tableLue ; VBAR | HBAR batons / GROUP = groupes SUBGROUP = sous_groupes SUMVAR = statistique TYPE = MEAN|SUM|FREQ|PCT DISCRETE ;RUN ; QUIT ;

Por exemplo:

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

Por padrão, com uma variável de caractere de tipo em paus e sem opções, recebemos um sticks por valor distinto desta variável, e as alturas proporcionais às frequências.

proc gheckt - Exemplo 1

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

Com uma variável digital de varas, a escolha automaticamente feita pelo procedimento do GHAT é questionável. A variável tem seus valores de corte de fatia (que é útil para produzir um histograma, mas às vezes curioso como neste exemplo).

proc gheckt - Exemplo 2

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

No caso em que você deseja evitar esse comportamento, adicionaremos a opção discreta para ter um stick por valor da variável, independentemente de sua Tipo.

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

O grupo de opções permite Receba vários conjuntos de varas. Se quisermos comparar a acumulação dos bastões, esta apresentação não é a melhor adaptada (subgrupo é preferível).

proc gheckt - Exemplo 4

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

com a opção do subgrupo, o gráfico é automaticamente enriquecido com uma legenda. Isso pode ser mascarado adicionando a opção de Noolegend para a instrução HBAR ou VBAR.

proc gheckt - Exemplo 5

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

As opções do Sumvar e do tipo permitem sair apenas de frequências gráficas.

proc gheckt - Exemplo 6

Podemos finalmente acumular todas essas opções para representar 4 variáveis simultaneamente no gráfico (grupos, grupos, subgrupos e estatísticas). Estamos no limite de ter uma representação incompreensível dos dados.

proc gheckt - Exemplo 7

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

deve ser notado que l A aparência do gráfico, se a instrução HBAR for usada em vez de VBAR, pode ser bem diferente. Dependendo do tipo (motorista) gráfico usado, possivelmente veremos as estatísticas à direita das varas.

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

Os dois gráficos abaixo são gerados pelo O mesmo programa (acima), mas no primeiro caso usamos o driver EMF, no segundo, Actimg (Imagex Image), para enviar o gráfico para um documento do Word através do ODS RTF.

proc gheckt – Exemplo 9

proc gheckt - Exemplo 10

Para não ver, então alguns, estatísticas são exibidos, você pode adicionar a opção dos ostats à instrução HBAR.

Exemplo # 1: Representa várias variáveis

Imagine que seus dados sejam organizados também:

proc GCHART - exemple 11proc gheckt – Exemplo 11

Você deseja representar, em varas justapostas, as vendas reais (1ª coluna, suja real) e previsões (2ª coluna, suja prevista), por país (país).

no estado, Seus dados não podem se prestar a esse gráfico: a opção Sumvar só aceita apenas uma variável por gráfico. Portanto, é necessário transformar os dados antes de ter em diferentes observações que estão atualmente em variáveis diferentes.Transforme o que está em colunas em linhas é um trabalho de transposição: por isso vamos usar o procedimento de transposição.

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 ;

A aparência dos dados se torna então esta. Temos cuidado para não esquecer as variáveis no by obtendo apenas um pivô parcial dos dados (consulte “O Proc de Transposição explicado à minha filha” disponível aqui).

Proc GChart - Exemplo 12

É então “mais do que” construir o procedimento de GHART com uma opção de grupo, além de uma instrução de etiqueta para gerenciar corretamente os títulos e o turno é reproduzido.

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

proc gheckt - Exemplo 13

Se também queremos uma cor diferente entre Previsões e realidade, basta adicionar a opção de grupo com a variável _name_ (além do resto) para obter duas cores; A opção Nolegend irá mascarar uma lenda redundante.

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 gheckt - Exemplo 14

Exemplo # 2: Pirâmide de idade

Do número de francês por sexo e faixa etária, é desejado produzir uma pirâmide das idades. Este exemplo ilustra a possibilidade de fazer varas em duas direções diferentes. Também mostra a aparência de uma declaração de padrão para as cores das barras, e uma instrução Axis para graduações de títulos e eixos.

Aqui está a forma inicial dos dados:

Proc GChart - Exemplo 15 Para perceber nossa pirâmide, vamos transpor os dados, de modo a ter uma única variável para as populações de homens e mulheres, e duas séries de observações Por sexos.

O truque para ter duas séries de barras em direções opostas é dar um sinal negativo para a população de um dos dois sexos. Para poder fazer todas essas operações de uma vez, vamos transpor com um estágio de dados em vez de um procedimento de transposição.

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

Proc GChart - Exemplo 16

Adicionará a esta tabela uma classificação variável que nos permitirá encomendar conforme desejado as faixas etárias (em uma pirâmide, por convenção, os mais antigos estão no parte superior do gráfico). Portanto, é ligeiramente transformado o programa acima:

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 gheckt - Exemplo 17 Em seguida, produzimos um primeiro Versão da pirâmide de idade: pop é a variável estatística, a idade é a variável sticks, e um subgrupo de gênero é solicitado. Em seguida, obtemos isso.

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

proc gheckt - Exemplo 18

em comparação Este primeiro resultado, primeiro encomendar os paus como desejamos. Temos a opção dos pontos médios, atrás da qual se enumera, nas aspas, todos os valores de idade que você deseja ver, nessa ordem. Por exemplo, os pontos médios = “U.S.A.” “Canadá” exibe apenas esses dois valores no gráfico e nessa ordem. Seriam, portanto, necessário escrever, tanto quanto nos preocupados, nos médios = “100 anos ou mais” “95 a 99” … “5 a 9” “0 a 4 anos”. Como há, portanto, 20 valores para listar, é mais simples (e menos arriscado) para gerá-lo por programa com uma variável macro.

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 gheckt - Exemplo 19

Permanecer modificações cosméticas: escolha de cores, remoção de graduações no eixo horizontal (a das estatísticas), mudança de etiqueta nesta mesma eixo.

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

Adicione espaços entre mulheres e homens no rótulo do eixo horizontal para encontrar estas palavras de parte e, por outro lado, haverá Assim, os rótulos aproximadamente centrados para as duas zonas do gráfico.

O menor, malor e valor = Nenhum opções adiam deliciações e exibição de valores.

Quanto ao padrão de duas instruções, eles Deixe jogar na cor das varas. A opção Coutline no procedimento de Gracht fornecerá a maneira de alterar a cor da linha ao redor das varas.

Se o Padrão1 e o Pattern2 estiverem automaticamente associados às duas primeiras zonas de coloração no gráfico, o AXIS1 N ‘é associado ao eixo horizontal adicionando a opção Raxis = AXIS1 na instrução HBAR. Existem 3 eixos em um gráfico em varas:

  • raxis (eixo de resposta) é o eixo das estatísticas;
  • maxis (eixo midpoints) é o dos valores de varas;
  • gaxis (eixo de grupo) é o de valores de grupo.

Leave a comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *