USO DE MACROS NO SAS

Documentos relacionados
USO DE MACROS NO SAS

SAS. Receita do SAS ,2 % mais que James Goodnight

EXERCÍCIOS SOBRE TESTE T

Estatística Computacional A - Aula SAS 01 Estatísticas Descritivas Prof. José Carlos Fogo

Aula no SAS. Planejamento do Experimento - Delineamento inteiramente casualizado. Saídas

Planejamento da pesquisa científica: incerteza e estatística. Edilson Batista de Oliveira Embrapa Florestas

PROGRAMA DE PÓS-GRADUAÇÃO EM ZOOTECNIA (GENÉTICA E MELHORAMENTO ANIMAL) CURSO DE : MESTRADO ( X ) DOUTORADO ( ) DADOS SOBRE A DISCIPLINA

2008 Mini-manual do SAS

O Sistema SAS 1. Figura 1: Janela de abertura do SAS, versão 9.4.

Aula Prática 03 Estatística Experimental DELINEAMENTO QUADRADO LATINO. *Planejamento do Experimento Delineamento Quadrado Latino (DQL);

29 e 30 de julho de 2013

ANÁLISE DE MEDIDAS REPETIDAS NO TEMPO USANDO O SAS

Capítulo I Preliminares: Visual Basic na planilha eletrônica Excel.

INTRODUÇÃO A MODELOS MISTOS

INTRODUÇÃO AO SAS. Euclides Braga MALHEIROS. FCAV/UNESP Campus de Jaboticabal

Avaliação de Desempenho

Abaixo do Objeto WorkSheet temos a coleção Cells, que representa todas as células de uma planilha.

Programação de Computadores III

MOQ-14 PROJETO e ANÁLISE de EXPERIMENTOS. Professor: Rodrigo A. Scarpel

- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Introdução à Programação 2006/07. Algoritmos

Exercícios de programação

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

TUTORIAL SOBRE ANÁLISE DE REGRESSÃO

Função R para analisar experimentos em DBC com Fatorial Duplo e um Tratamento Adicional, em uma só Rodada

Laboratório de Programação de Computadores para Engenharia - Notas de aula - Teoria - 12/12/2013. Funções

Uma Aplicação de Modelos Lineares Mistos

Análise econômica. Florestais

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos

- Trabalho Prático de Algoritmos e Programação usando Robô Arduino -

Aula prática 5. Funções Recursivas

MATLAB Avançado. Melissa Weber Mendonça

Simulação de Caixa Automático

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Um programa awk contém uma seqüência de padrões (expressões regulares) e ações da seguinte forma:

Estruturação de Procedimentos

Aula de hoje. Funções. Introdução. Função. Definição de funções. Exemplo. SCC Introdução à Programação para Engenharias

Análise Conjunta de Experimentos

Preparatório LPIC-1 Tópico 103

EXPERIMENTAÇÃO AGRÁRIA

Plano de Ensino. Identificação. Câmpus de Jaboticabal. Curso 17 - Agronomia. Ênfase. Disciplina 3751agroTP1 - PROCESSAMENTO DE DADOS

ANOVA - parte I Conceitos Básicos

TEAZ Técnicas Experimentais Aplicadas à Zootecnia PLANO DE ENSINO

SPSS Statistical Package for the Social Sciences Composto por dois ambientes:

Estrutura de Seleção

Linguagem de Programação I. Aula 10 Funções

CURSO RÁPIDO. E l a b o r a ç ã o : W a n d e r s o n K l e b e r d e O l i v e i r a W i l d o N a v e g a n t e s d e A r a u j o

Análise de Variância. Análise de Variância. Análise de Variância. Análise de Variância. Análise de Variância. Mestrado em Recreação e Lazer

Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL

Análise de séries temporais financeiras

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Introdução ao R. Roteiro. 1. Informações Gerais 2. Aritmética 3. Variáveis e Vetores 4. Scripts 5. Matrizes e Arrays. Introdução

Python Funções. Introdução à Programação SI1

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

O Sistema SAS 1. I - O ambiente SAS:

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Modularidade - Fun ções e Procedimentos

Simulado de Linguagem de Programação Java

1 Da aula teórica ao Java

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Treinamento calculadora TCO. TCO team

Microsoft Excel Aula 7

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Modelos: Verificação, Validação e Experimentação

INFORMÁTICA. Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV

Introdução à Linguagem

Forecasting e ti O i Otim Oti ização de ã d Carteiras com Matlab AULA 3

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Introdução a Programação Web com PHP

Exercícios Data Modeling

Metodologia para resolução de um problema

Programa SAS para ajuste de curvas de retenção

Algoritmia. Algoritmos e Programação, CET - CO. Francisco Rente

Mario de Andrade Lira Junior - Reservados todos os direitos autorais.

Bioexperimentação. Prof. Dr. Iron Macêdo Dantas

Universidade Federal de Viçosa Departamento de Estatística

INTRODUÇÃO AO SCILAB

ARQUIVO EXTERNO: LEITURA, ESCRITA (sem formato e com formato)

Linguagens de Domínio Específico

Aula 03 Estatística, Correlação e Regressão

Criando a sua própria função

ESTRUTURAS DE CONTROLE

Universidade Federal Rural de Pernambuco

Bioestat 5.0. Rafael de Oliveira Xavier. Lab. Ecologia e Conservação, Departamento de Botânica, UFSCar

Planejamento e Análise de Experimentos

ANÁLISE DE VARIÂNCIA

Fluxogramas. Vanessa Braganholo

Programação Orientada a Objetos

Fluxogramas. Leonardo Gresta Paulino Murta.

Curso básico de JavaScript Aula 2

Curso de Estatística Descritiva e Inferencial (Planejamento Experimental) Prof. Dr. Jomar Camarinha

Um ambiente super amigável de trabalho com recursos poderosos de análise e acesso a uma ampla base de dados da economias brasileira e internacional.

Correção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição

Linguagens de Programação 2016/2

Linguagem Haskell. Riocemar S. de Santana

Curso de Especialização em Fisioterapia Traumato-Ortopédica / 2010 NOÇÕES DE STICA

Transcrição:

USO DE MACROS NO SAS Euclides Braga MALHEIROS * O uso de Macros no SAS permite que uma variável ou uma seqüência de comandos SAS seja chamado qualquer número de vezes. É o mesmo princípio de subrotinas utilizado na maioria das linguagens de programação. O SAS permite vários tipos de macros, alguns deles serão discutidos aqui. 1. Macro variáveis. Uma macro variável permite definir um valor a uma variável no SAS. %LET <nome>=<valor>; Sintaxe para chamar a macro: &<nome> Para exemplificar considere o conjunto de dados de um Delineamento Inteiramente Casulizado, com 5 variáveis: Tratamento (TR), Repetição (RP) e as variáveis dependentes Y1, Y2 e Y3, apresentado na Tabela1. Tabela 1. Dados de experimento Inteiramente Casualizado com 5 tratamentos e 3 repetições. (Dados fictícios) TR RP Y1 Y2 Y3 1 1 11,82 14,86 13,84 1 2 12,07 14,44 13,92 1 3 12,45 14,18 13,76 2 1 12,47 15,19 15,02 2 2 11,07 13,38 14,61 2 3 10,66 14,22 13,54 3 1 12,92 14,49 13,40 3 2 10,29 14,42 14,62 3 3 12,83 13,92 15,69 4 1 11,96 14,71 14,98 4 2 13,38 15,07 13,62 4 3 10,37 15,78 13,33 5 1 11,05 13,18 14,61 5 2 10,63 13,14 14,53 5 3 13,43 14,08 14,23 * Departamento de Ciências Exatas FCAV/UNESP, Campus de Jaboticabal. 14870-000 Jaboticabal SP

2 A partir desses dados foi criado um arquivo ASC II com o nome MAC_V.TXT, disponível no site do curso. Exercício 1: Fazer download do arquivo MAC_V.ZIP, disponível no site do curso, para a pasta de trabalho e descompactá-lo. Fazer um programa SAS para a análise do experimento Delineamento Inteiramente Casualizado, permitinto estabelecer as possíveis variações do programa, como: o Título da análise, o Arquivo ASC a ser importado, o Primeiro Registro com Dados, o Número de variáveis a serem analisadas (variáveis dependentes), o Tipo de teste de comparações múltiplas e o Tipo de teste de Homocedasticidade, sejam definidas como variáveis macro. /************* MACRO VARIAVEIS **********/ /* DELINEAMENTO INTERAMENTE CASUALIZADO */ /****************************************/ /*------------------- REDEFINA AS OPCOES DESEJADAS --------------------*/ %LET TITULO="EXEMPLO MACRO VARIÁVEIS"; /* TITULO */ %LET AASC="A:\MAC1.TXT"; /* ARQUIVO ASC II */ %LET PRD=1; /* PRIMEIRO REGISTO DE DADOS FIRSTOBS */ %LET NVD=3; /* NUMERO DE VARIAVEIS DEPENDENTES */ %LET TCM=TUKEY; /* TESTE DE COMPARACOES MULTIPLAS */ %LET THV=LEVENE; /* TESTE DE HOMOGENEIDADE DE VARIANCIA */ /*---------------------------------------------------------------------*/ OPTION LS=78 PS=64 PAGENO=1; TITLE &TITULO; DATA M1; INFILE &AASC FIRSTOBS=&PRD; INPUT TR RP Y1-Y&NVD; PROC GLM; CLASS TR RP; MODEL Y1-Y&NVD=TR/SS3; MEANS TR/&TCM HOVTEST=&THV; OUTPUT OUT=AE STUDENT=ER1-ER&NVD; PROC UNIVARIATE DATA=AE NORMAL PLOT; VAR ER1-ER&NVD;

3 2. Macro funções. Uma macro função permite definir uma função a ser usada no programa. %macro <nome(lista de argumentos - separados por,)>; expressão que define a função usando o argumento precedido por & %mend <nome>; Para usar a função: %<nome(valores para os argumentos)> Para exemplificar considere o conjunto de dados de um Delineamento Inteiramente Casulizado, com 5 variáveis: Tratamento (TR), Repetição (RP) e as variáveis dependentes Y1, Y2 e Y3, apresentado na Tabela 2. Tabela 2. Dados de experimento Inteiramente Casualizado com 5 tratamentos e 3 repetições. (Dados fictícios) TR RP Y1 Y2 Y3 1 1 15 0,486 78,5 1 2 16 0,444 80,6 1 3 14 0,418 83,8 2 1 25 0,519 83,9 2 2 21 0,338 72,3 2 3 12 0,422 68,8 3 1 11 0,449 87,7 3 2 21 0,442 65,8 3 3 30 0,392 86,9 4 1 24 0,471 79,7 4 2 13 0,507 91,5 4 3 11 0,578 66,4 5 1 21 0,318 72,1 5 2 21 0,314 68,6 5 3 18 0,408 91,9 Exercício 2: Fazer download do arquivo MAC_FC.ZIP, disponível no site do curso, para a pasta de trabalho e descompactá-lo. Fazer um programa SAS para ler os dados MAC_FC.TXT e transformar as variáveis: Y1 em raiz quadrada de (Y1+0,5); Y2 e Y3 em arco seno da raiz da porcentagem.

4 Definir a transformação como macro função. Fazer a correlação entre as variáveis originais e entre as variáveis transformadas. /************* MACRO FUNCOES **********/ /* TRANSFORMACAO DE DADOS */ /****************************************/ /*-----------------DEFINICAO DA MACRO-------------------------*/ %MACRO RAIZ(X,ALFA); SQRT(&X+&ALFA) %MEND RAIZ; %MACRO ASRP(X,DIV,ALFA); ARSIN(SQRT(&X/&DIV)+&ALFA) %MEND ASRP; /*------------------------------------------------------------*/ OPTIONS LS=78 PS=64 PAGENO=1; DATA MF; INFILE "A:\MAC_FC.TXT" FIRSTOBS=2; INPUT TR RP Y1-Y3; YT1=%RAIZ(Y1,0,5); YT2=%ASRP(Y2,1,0); YT3=%ASRP(Y3,100,0); PROC PRINT; PROC CORR; VAR Y1-Y3; PROC CORR; VAR YT1-YT3; 3. Macro subprograma. Uma macro subprograma permite definir uma rotina à parte que pode ser chamada tantas vezes quantas precisar. %MACRO <nome>; <subprograma> %mend <nome>; Sintaxe para chamar a macro: %<nome>

5 Para exemplificar considere o conjunto de dados de um Delineamento Inteiramente Casulizado, com 4 variáveis: Tratamento (Trat), Repetição (Rep) e as variáveis dependentes Y1 e Y2, apresentado na Tabela 3. Tabela 3. Dados de experimento Inteiramente Casualizado com 5 tratamentos e 4 repetições. (Dados fictícios) Trat Rep Y1 Y2 1 1 2370 14,236 1 2 1687 14,478 1 3 2592 14,519 1 4 2283 13,888 2 1 1282 13,928 2 2 1527 13,777 2 3 871 14,444 2 4 1025 13,061 3 1 562 14,073 3 2 321 13,406 3 3 636 13,607 3 4 317 14,411 4 1 173 15,088 4 2 127 13,583 4 3 132 13,697 4 4 150 13,636 5 1 193 15,349 5 2 71 16,502 5 3 82 15,175 5 4 62 15,022 Exercício 3: Fazer download do arquivo MAC_SP1.XLS, disponível no site do curso, para a pasta de trabalho. Criar um SDS importando o arquivo do direto do Excel. Fazer um programa SAS para realizar a análise de regressão entre o Log da variância e o Log da média usada para avaliar o tipo de heterocedasticidade (regular ou irregular) e, se for regular indicar a transformação de dados a ser usada, para cada variável dependente. Como criar o SAS DATA SET (SDS) importando o arquivo do Excel PROC IMPORT OUT=SDS DATAFILE="ARQ.XLS" DBMS=EXCEL2000 REPLACE; SHEET="PLANILHA$"; GETNAMES=YES; Onde: SDS é o nome do SAS DATA SET a ser criado ARQ. XLS é o arquivo a ser importado, icluindo o caminho onde ele se encontra. PALNIHA É o nome da planilha.

6 /************** USO DE MACROS *************/ /* TESTE PARA A ESCOLHA DA TRANSFORMACAO */ /******************************************/ /****************** DEFINA AS OPCOES *****************/ %LET TITULO="MACRO SUBPROGRAMA"; %LET TTCM=TUKEY; /*****************************************************/ /*-------------------MACRO---------------------------*/ %MACRO BARTL; PROC MEANS NOPRINT; OUTPUT OUT=SDSB MEAN=M VAR=V; BY TR; VAR Y; DATA SDSB; SET SDSB; LM=LOG(M); LV=LOG(V); PROC REG; MODEL LV=LM; %MEND BARTL; /*------------------PROGRAMA PRINCIPAL------------------------*/ TITLE &TITULO; OPTIONS LS=78 PS=64; PROC IMPORT OUT=A DATAFILE="A:\MAC_SP1.XLS" DBMS=EXCEL2000 REPLACE; SHEET="PLAN1$"; GETNAMES=YES; PROC PRINT DATA=A; DATA A; SET A; TITLE "TESTE DE BARTLET PARA Y1"; Y=Y1; %BARTL DATA A; SET A; TITLE "TESTE DE BARTLET PARA Y2"; Y=Y2; %BARTL 4. Macro subprograma com parâmetros. Uma macro subprograma permite definir uma rotina à parte, variando alguns parâmetros, que podem ser parâmetros de entrada ou de saída. A rotina pode ser chamada tantas vezes quantas precisar.

7 %macro <nome(par1,par2,... )>; <comandos incluindo os parâmetros precedidos por & (ex: &par1, &par2,...) %mend <nome>; Sintaxe para chamar a macro: %<nome(v_par1,v_par2,... )> onde v_par1, v_par2 são os valores dos parâmetros par1, par2, respectivamente. Exercício 4: Fazer download do arquivo MAC_SP2.txt, disponível no site do curso, para a pasta de trabalho. Criar um SDS importando o arquivo ASC, com as variáveis A, B, C, RP e Y. Fazer um programa SAS para analisar esses dados, usando subprograma para os desdobramentos das interações duplas. /******************************************/ /* DESDOBRAMENTO DA INTERAÇAO */ /* COM O USO DE MACRO */ /******************************************/ %LET AASC="A:\MAC_SP3.TXT"; %MACRO DESD(FA,FB); LSMEANS &FA*&FB/SLICE=&FA; LSMEANS &FA*&FB/SLICE=&FB; %MEND DESD; /********PROGRAMA PRINCIPAL ***************************/ OPTIONS LS=78 PS=64 PAGENO=1; DATA MSP3; INFILE &AASC FIRSTOBS=2; INPUT A B C RP Y; TR=(A-1)*6+(B-1)*2+C; PROC PRINT; PROC GLM DATA=MSP3; CLASS TR RP; MODEL Y=TR/SS3; MEANS TR/HOVTEST; OUTPUT OUT=AE STUDENT=ER; PROC UNIVARIATE DATA=AE NORMAL PLOT; VAR ER; PROC GLM; CLASS A B C RP; MODEL Y=A B C A*B A*C B*C A*B*C/SS3; %DESD(A,B); %DESD(A,C); %DESD(B,C);