SAS Certification Handout #12: Adv. Prog. Ch. 11-12 /************ Ch. 11

Total Page:16

File Type:pdf, Size:1020Kb

SAS Certification Handout #12: Adv. Prog. Ch. 11-12 /************ Ch. 11 SAS Certification Handout #12: Adv. Prog. Ch. 11-12 /************ Ch. 11 ******************/ %let HOnum=12; libname cert 'C:/jrstevens/Teaching/SAS_Cert/AdvNotes'; /* In SAS Studio, after creating SAS_Cert folder with username jrstevens: */ * libname cert '/home/jrstevens/SAS_Cert'; /* sales */ data cert.sales&HOnum; format LastName $9. Sales dollar8.; input LastName $ FirstName $ EmplID Division $ Contracts Volume Sales; label EmplID = "Employee ID"; cards; Smith B 315 A 45 10015 553312 Nelson E 333 A 23 32162 555827 Riley X 125 B 61 32631 748391 Uribe R 612 C 22 43221 867159 Larson A 331 B 61 12553 521592 Larsen L 216 B 62 12632 123513 Rasmussen K 217 A 33 43336 125321 Butikofer J 338 A 62 33921 332521 Knecht P 861 B 11 43111 983152 Larson A 331 C 62 6123 381592 ; /* pp. 400-406 Different ways for macros to be set up: 1. positional parameters 2. keyword parameters 3. mixed parameter lists (positional [first] and keyword) 4. varying number of parameters (PARMBUFF) */ /* 1. positional parameters */ %macro getAve(setname, varname); proc means data=&setname mean; var &varname; run; Analysis Variable : Sales %mend; Mean getAve % (cert.sales&HOnum, Sales) 519238.00 /* Note no semicolon after call (p. 394) */ 1 /* 2. keyword parameters */ %macro getExpAve(setname=&syslast, varname=X, power=1); data &setname; set &setname; new&varname = &varname**&power; label new&varname = "Power &power of &varname"; proc means data=&setname mean; var new&varname; run; Analysis Variable : newSales Power %mend; 1 of Sales Mean %getExpAve(setname=cert.sales&HOnum, varname=Sales, 519238.00 power=1) Analysis Variable : newSales Power %getExpAve(setname=cert.sales&HOnum, 2 of Sales varname=Sales, power=2) Mean 345294119712 %getExpAve() Analysis Variable LOG: NOTE: Variable X is uninitialized. : newX Power 1 of X Mean . /* 3. mixed parameter lists */ %macro getNewExpAve(setname, varname, power=1); data &setname; set &setname; new&varname = &varname**&power; label new&varname = "Power &power of &varname"; proc means data=&setname mean; var new&varname; Analysis Variable run; : newSales Power 2 of Sales %mend; Mean %getnewExpAve(cert.sales&HOnum, Sales, power=2) 345294119712 2 /* 4. varying number of parameters (PARMBUFF) -- usually involve automatic macro variable SYSPBUFF and a DO loop */ %macro tempCall / parmbuff; %put SYSPBUFF contains: &SYSPBUFF; %local i; %do i=1 %to %sysfunc(countw(&SYSPBUFF)); %let data_i = %scan(&SYSPBUFF,&i); proc corr data=&data_i nosimple; var Y X; run; %end; %mend; data temp1; set cert.sales&HOnum; Y = Sales; X = Volume; data temp2; set cert.sales&HOnum; Y = Sales; X = Contracts; data temp3; set cert.sales&HOnum; Y = Volume; X = Contracts; %tempCall(temp1, temp2) Pearson Correlation Coefficients, N = 10 Prob > |r| under H0: Rho=0 Y X Y 1.00000 0.37750 tempCall 0.2822 % (temp3) Pearson Correlation Coefficients, N = 10 X 0.37750 1.00000 Prob > |r| under H0: Rho=0 0.2822 Y X Y 1.00000 -0.67666 0.0317 X -0.67666 1.00000 Pearson Correlation Coefficients, N = 10 Prob > |r| under H0: Rho=0 0.0317 Y X Y 1.00000 -0.53754 0.1090 X -0.53754 1.00000 0.1090 3 /* tools for debugging macros: (p. 393) MCOMPILENOTE - LOG message when macro is compiled (p. 397) MPRINT - text to be compiled is sent to LOG (p. 398) MLOGIC - LOG message for each step of macro execution (p. 399) %* comments [why not /* ... ?] (p. 412-415) MPRINTNEST & MLOGICNEST [specifically for nested macros] %PUT at various steps to see what current macro values are pp. 426-430 DO loops */ options mcompilenote=all; %macro showNesting(maxI); %do i=2 %to &maxI %by 2; /* %BY default is 1 */ %* p. 399 says can comment this way inside a macro ; * but this works too [both up to semicolon] ; %getnewExpAve(cert.sales&HOnum, Contracts, power=&i) %end; LOG: NOTE: The macro SHOWNESTING completed compilation %mend; without errors. 15 instructions 312 bytes. options mprint mlogic mprintnest mlogicnest; %showNesting(7) LOG: 369 370 options mprint mlogic mprintnest mlogicnest; 371 %showNesting(7) MLOGIC(SHOWNESTING): Beginning execution. MLOGIC(SHOWNESTING): Parameter MAXI has value 7 MLOGIC(SHOWNESTING): %DO loop beginning; index variable I; start value is 2; stop value is 7; by value is 2. MPRINT(SHOWNESTING): * but this works too [both up to semicolon] ; MLOGIC(SHOWNESTING.GETNEWEXPAVE): Beginning execution. MLOGIC(SHOWNESTING.GETNEWEXPAVE): Parameter SETNAME has value cert.sales12 MLOGIC(SHOWNESTING.GETNEWEXPAVE): Parameter VARNAME has value Contracts MLOGIC(SHOWNESTING.GETNEWEXPAVE): Parameter POWER has value 2 MPRINT(SHOWNESTING.GETNEWEXPAVE): data cert.sales12; MPRINT(SHOWNESTING.GETNEWEXPAVE): set cert.sales12; MPRINT(SHOWNESTING.GETNEWEXPAVE): newContracts = Contracts**2; MPRINT(SHOWNESTING.GETNEWEXPAVE): label newContracts = "Power 2 of Contracts"; ... 4 options mcompilenote=none nomprint nomlogic Analysis Variable nomprintnest nomlogicnest; : newContracts Power 2 of Contracts Mean 2322.20 Analysis Variable : newContracts Power 4 of Contracts /* pp. 406-415: Mean %GLOBAL identifies macro variable as 7783597.40 existing both outside and inside macros. %LOCAL identifies macro variable as only Analysis Variable exisiting inside macro itself (precedence : newContracts Power over same-named global variables). 6 of Contracts Mean %LET assigns macro variable value (inside or outside macro definition) 28329987642 */ data cert.sales&HOnum; set cert.sales&HOnum; row=_n_; run; %let A=3; %macro tryThis(b); %local A; %let A=1; proc print data=cert.sales&HOnum; where row <= &a; var LastName Sales Row; title1 &b ; run; Note %local precedence %mend; Obs LastName Sales row %tryThis("Note %local precedence"); 1 Smith $553,312 1 Now with global A=3 proc print data=cert.sales&HOnum; Obs LastName Sales row where row <= &a; var LastName Sales Row; 1 Smith $553,312 1 title1 "Now with global A=&a" ; 2 Nelson $555,827 2 run; title1; 3 Riley $748,391 3 5 /* pp. 415-426 %IF ... %THEN ... <%ELSE> ... -- only works inside macro, and only refers to macro variables -- case-sensitive condition checks (so maybe use %UPCASE, p. 425) -- evaluated to determine text for input stack */ %macro trial(X); %if %upcase(&x) = GLM %then %do; proc glm data=cert.sales&HOnum; class division; model Sales = Division; run; %end; %else %if %upcase(&x) = REG %then %do; proc reg data=cert.sales&HOnum; model Sales = Contracts; run; %end; %else %do; %put <ATTN>; %put <ATTN> X=&X option resulted in no output; %put <ATTN>; %end; %mend; The GLM Procedure Dependent Variable: Sales Source DF Sum of Squares Mean Square F Value Pr > F %trial(glm) Model 2 109579816127 54789908063 0.59 0.5785 Error 7 647280374551 92468624936 Corrected Total 9 756860190678 ... The REG Procedure Analysis of Variance trial % (Reg) Source DF Sum of Mean F Value Pr > F Squares Square Model 1 2.18696E11 2.18696E11 3.25 0.1090 Error 8 5.381642E11 67270523142 Corrected Total 9 7.568602E11 ... 6 LOG: %trial(something) <ATTN> <ATTN> X=something option resulted in no output <ATTN> /* p. 420 WHERE ALSO -- not a macro thing, just to add multiple WHERE statements (AND) */ proc print data=cert.sales&HOnum; where division="A"; Obs LastName Sales Division where also Sales > 500000; 1 Smith $553,312 A var lastname sales division; title1; 2 Nelson $555,827 A run; /* LOG: NOTE: WHERE clause has been augmented. */ /* p. 430: %EVAL for simple integer arithmetic & logical p. 432: %SYSEVALF for floating-point arithmetic ( incl. non-integer) */ %let a = 7; %let b = 8; %let c = &a + &b; %put C = &C; LOG: C = 7 + 8 %let a = 7; %let b = 8; %let c = %eval(&a + &b); %put C = &C; LOG: C = 15 %let a = 7.3; %let b = -8.13; %let c = %eval(&a + &b); LOG: ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 7.3 + -8.13 %let a = 7.3; %let b = -8.13; %let c = %sysevalf(&a + &b); %put C = &C; /* LOG: C = -0.83 */ LOG: C = -0.83 /* pp. 395-397: how macros are processed */ 7 /************ Ch. 12 ******************/ /* Four main ways to store macro definitions in external files: 1. (p. 443) %INCLUDE (calls full .sas files, not just macros) 2. (p. 446) store macro as SOURCE in CATALOG 3. (p. 450) autocall (with OPTIONS MAUTOSOURCE SASAUTOS= ) 4. (p. 454) stored compiled macro using STORE option (with OPTIONS MSTORED SASMSTORE= ) The 'source' program is the original .sas file defining the macro. */ /* 1. (p. 443) %INCLUDE (calls full .sas files, not just macros) */ %include "C:/jrstevens/Teaching/SAS_Cert/AdvNotes/getAve1.sas"; %getAve1(cert.sales&HOnum, Sales) Source Program (getAve1.sas) SAS Output Using %include %macro getAve1(setname, varname); proc means data=&setname mean; The MEANS Procedure var &varname; Analysis Variable title1 "Using %include"; : Sales run; Mean %mend; 519238.00 /* 2. (p. 446) store macro as SOURCE in CATALOG; with getAve2.sas open: File --> Save As Object --> (make new Mymacs folder in CERT library) --> enter name as getAve2 and description as "Macro to get average of a given variable in given data set", then Save */ /* See summary (value here is seeing description) */ proc catalog cat=cert.Mymacs; contents; quit; Contents of Catalog CERT.MYMACS # Name Type Create Date Modified Date Description 1 GETAVE2 SOURCE 02/18/2015 02/18/2015 Macro to get average of a given 12:57:25 12:57:25 variable in given data set 8 /* Call it -- still need %include */ filename getAve2 catalog "cert.mymacs.getAve2.source"; %include getAve2; %getAve2(cert.sales&HOnum, Sales) Source Program (getAve2.sas) SAS Output Using CATALOG Source %macro getAve2(setname, varname); proc means data=&setname mean; The MEANS Procedure var &varname; Analysis Variable title1 "Using CATALOG Source "; : Sales run; Mean %mend; 519238.00 /* 3. (p. 450) autocall (with OPTIONS MAUTOSOURCE SASAUTOS= ) - First save getAve3.sas (same name as defined macro) in specified folder - This approach essentially makes all .sas files in the referenced Folder available for macro calls (so SAS will look in all of them to find called macros not already available to it (first in currently-defined, then in permanent, and then in autocall).
Recommended publications
  • Towards a Fully Automated Extraction and Interpretation of Tabular Data Using Machine Learning
    UPTEC F 19050 Examensarbete 30 hp August 2019 Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Per Hedbrant Master Thesis in Engineering Physics Department of Engineering Sciences Uppsala University Sweden Abstract Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Teknisk- naturvetenskaplig fakultet UTH-enheten Motivation A challenge for researchers at CBCS is the ability to efficiently manage the Besöksadress: different data formats that frequently are changed. Significant amount of time is Ångströmlaboratoriet Lägerhyddsvägen 1 spent on manual pre-processing, converting from one format to another. There are Hus 4, Plan 0 currently no solutions that uses pattern recognition to locate and automatically recognise data structures in a spreadsheet. Postadress: Box 536 751 21 Uppsala Problem Definition The desired solution is to build a self-learning Software as-a-Service (SaaS) for Telefon: automated recognition and loading of data stored in arbitrary formats. The aim of 018 – 471 30 03 this study is three-folded: A) Investigate if unsupervised machine learning Telefax: methods can be used to label different types of cells in spreadsheets. B) 018 – 471 30 00 Investigate if a hypothesis-generating algorithm can be used to label different types of cells in spreadsheets. C) Advise on choices of architecture and Hemsida: technologies for the SaaS solution. http://www.teknat.uu.se/student Method A pre-processing framework is built that can read and pre-process any type of spreadsheet into a feature matrix. Different datasets are read and clustered. An investigation on the usefulness of reducing the dimensionality is also done.
    [Show full text]
  • Why SAS Programmers Should Learn Python Too Michael Stackhouse, Covance, Inc
    PharmaSUG 2018 - Paper AD-12 Why SAS Programmers Should Learn Python Too Michael Stackhouse, Covance, Inc. ABSTRACT Day to day work can often require simple, yet repetitive tasks. All companies have tedious processes that may involve moving and renaming files, making redundant edits to code, and more. Often, one might also want to find or summarize information scattered amongst many different files as well. While SAS programmers are very familiar with the power of SAS, the power of some lesser known but readily available tools may go unnoticed. The programming language Python has many capabilities that can easily automate and facilitate these tasks. Additionally, many companies have adopted Linux and UNIX as their OS of choice. With a small amount of background, and an understanding of Linux/UNIX command line syntax, powerful tools can be developed to eliminate these tedious activities. Better yet, these tools can be written to “talk back” to the user, making them more user friendly for those averse to venturing from their SAS editor. This paper will explore the benefits of how Python can be adopted into a SAS programming world. INTRODUCTION SAS is a great language, and it does what it’s designed to do very well, but other languages are better catered to different tasks. One language in particular that can serve a number of different purposes is Python. This is for a number of reasons. First off, it’s easy. Python has a very spoken-word style of syntax that is both intuitive to use and easy to learn. This makes it a very attractive language for newcomers, but also an attractive language to someone like a SAS programmer.
    [Show full text]
  • Base SAS® Software Flexible and Extensible Fourth-Generation Programming Language Designed for Data Access, Transformation and Reporting
    FACT SHEET Base SAS® Software Flexible and extensible fourth-generation programming language designed for data access, transformation and reporting What does Base SAS® software do? Base SAS is a fourth-generation programming language (4GL) for data access, data transformation, analysis and reporting. It is included with the SAS Platform. Base SAS is designed for foundational data manipulation, information storage and retrieval, descrip- tive statistics and report writing. It also includes a powerful macro facility that reduces programming time and maintenance headaches. Why is Base SAS® software important? Base SAS runs on all major operating systems. It significantly reduces programming and maintenance time, while enabling your IT organization to produce the analyses and reports that decision makers need in the format they prefer. For whom is Base SAS® software designed? Base SAS is used by SAS programming experts and power users who prefer to code to manipulate data, produce and distribute ad hoc queries and reports, and/or interpret the results of descriptive data analysis. Many IT organizations struggle with functionality, including direct access to familiar Python interface using the SAS problems arising from complex and distrib- standardized data sources and advanced pipefitter package, fostering consis- uted data, spending excessive time synchro- statistical analysis. tency of code in the organization. nizing and reformatting data for various • Simplify reporting and delivery to applications. Producing accurate and visually Key Benefits mobile devices. Base SAS provides appealing reports often requires dispropor- maximum reporting flexibility. Easily • Integrate data across environments. tionate programming resources. Addition- create reports in formats such as RTF, Available with the SAS Platform, Base ally, IT often must manage a plethora of PDF, Microsoft PowerPoint, HTML and SAS integrates into any computing software packages that only support a e-books that can be read on many environment infrastructure, unifying specific demand.
    [Show full text]
  • Clinical Trial Laboratory Data Management Using the SAS ® System
    Clinical Trial Laboratory Data Management using the SAS® System Marianne Hack, Covance, Inc., Princeton NJ ABSTRACT In terms of volume, for many clinical trials laboratory process lab data, these standard agreements are data comprises a very large portion of all data collected. adhered to whenever possible on any studies that Add to that the fact that laboratory data is inherently utilize these laboratories. complex, and the management of the data acquisition (electronic and/or data entry), cleaning (synchronization Given that we know what to expect when receiving data of databases), and reporting (unit conversions, files from a particular laboratory data vendor, we can character to numeric conversions, result flagging, etc.) then build standard SAS modules to import and processes can be overwhelming. This paper discusses reformat the vendor data. The end result is that a SAS an approach to building and using an arsenal of data set (see example B) containing data from Vendor specialized SAS program modules in order to A will be very similar to a SAS data set containing data standardize the various processes involved in from Vendor B. These SAS data sets are then ready managing and reporting clinical laboratory data. for the data cleaning stage. DATA CLEANING INTRODUCTION Data review and cleaning of vendor data requires As a CRO (Contract Research Organization), we are additional steps over and above what one might required to be able to work with data from a multitude of ordinarily do to review data-entered laboratory data. sources. Clinical laboratory data is usually integrated Commonly called ‘header cleaning’, this involves into the clinical database via direct data entry or reconciling the patient identifiers from the vendor through importation of electronic data files.
    [Show full text]
  • Introduction to SAS
    1 Introduction to SAS How to Get SAS® The University has a license agreement with SAS® for individual use for $35 a year. You can buy and download the software package at: https://software.ucdavis.edu/index.cfm. If you can have the software installed on your laptop and bring it with you to the seminar, we can work through the examples and exercises together. SAS will run in Windows® Vista, 7, 8, and 10, and on UNIX. To run SAS on a Mac® you can run SAS University, which is a limited version that is free and runs virtually on OS X http://www.sas.com/en_us/software/university-edition/download-software.html#os-x or you will need to log in remotely to a Windows or UNIX system or use a desktop virtualization program such as Parallels®. Your department can purchase a license for Parallels® using the link above for a discount. You can get a free 14 day trial of Parallels at: http://trial.parallels.com/?lang=en&terr=us. What is SAS®? SAS is an integrated software system that enables you to perform a variety of tasks. For the purposes of this seminar series, we will be focusing on: 1) Data entry, retrieval, and management 2) Tables and graphics 3) Statistical analysis For this session held on Sept 14 and 21 we will mainly discuss (1) and (2) as a start. The future seminars will discuss (3) in detail in the context of statistical analysis methods covered. SAS stands for Statistical Analysis Software, but now we just use SAS as the registered trademark for the software package.
    [Show full text]
  • IBM SPSS Modeler Premium
    IBM Software IBM SPSS Modeler Premium IBM SPSS Modeler Premium Improve model accuracy with unstructured data IBM® SPSS® Modeler Premium helps you achieve superior outcomes Highlights by basing your business decisions on predictive intelligence. Predictive intelligence creates more effective strategies because it allows Solve business problems faster with organizations not only to evaluate trends and benchmarking results, analytical techniques that deliver deeper insight. plans and performance, but also to look into the future by evaluating likely outcomes and understanding how the interplay of factors affects • Easily access, prepare and integrate structured data and text, web and survey those outcomes. data. With SPSS Modeler Premium, you can solve any business problem • Quickly identify and extract sentiments from text in more than 30 languages. faster using powerful, proven analytical techniques that deliver deeper insight into your customers or constituents. However, because the • Extend access to text stored in legacy majority of data is trapped in unstructured or textual form – in systems, such as mainframes, through support for IBM Classic Federation Server comments, files or on the web – modeling with structured data alone and IBM® zDB2® data stores. may provide an incomplete view into your business processes and outcomes. • Easily perform in-database ­ analytics and mining for IBM® Netezza®*. SPSS Modeler Premium enables organizations to tap into the • Broaden visibility into the full customer predictive intelligence held in all forms of data. It goes beyond the view with the ability to export to IBM® Cognos® Business Intelligence directly analysis of structured numerical data and includes information from from the interface. unstructured data, such as web activity, blog content, customer feedback, emails, articles and more to discover relationships between • Add more deployment options through zLinux, SuSE Linux Enterprise Server and concepts and sentiments and create the most accurate predictive models inclusion in IBM Smart Analytics System possible.
    [Show full text]
  • Julia: a Modern Language for Modern ML
    Julia: A modern language for modern ML Dr. Viral Shah and Dr. Simon Byrne www.juliacomputing.com What we do: Modernize Technical Computing Today’s technical computing landscape: • Develop new learning algorithms • Run them in parallel on large datasets • Leverage accelerators like GPUs, Xeon Phis • Embed into intelligent products “Business as usual” will simply not do! General Micro-benchmarks: Julia performs almost as fast as C • 10X faster than Python • 100X faster than R & MATLAB Performance benchmark relative to C. A value of 1 means as fast as C. Lower values are better. A real application: Gillespie simulations in systems biology 745x faster than R • Gillespie simulations are used in the field of drug discovery. • Also used for simulations of epidemiological models to study disease propagation • Julia package (Gillespie.jl) is the state of the art in Gillespie simulations • https://github.com/openjournals/joss- papers/blob/master/joss.00042/10.21105.joss.00042.pdf Implementation Time per simulation (ms) R (GillespieSSA) 894.25 R (handcoded) 1087.94 Rcpp (handcoded) 1.31 Julia (Gillespie.jl) 3.99 Julia (Gillespie.jl, passing object) 1.78 Julia (handcoded) 1.2 Those who convert ideas to products fastest will win Computer Quants develop Scientists prepare algorithms The last 25 years for production (Python, R, SAS, DEPLOY (C++, C#, Java) Matlab) Quants and Computer Compress the Scientists DEPLOY innovation cycle collaborate on one platform - JULIA with Julia Julia offers competitive advantages to its users Julia is poised to become one of the Thank you for Julia. Yo u ' v e k i n d l ed leading tools deployed by developers serious excitement.
    [Show full text]
  • SWAT's It All About? SAS Viya for Python Users
    Paper 3610-2019 SWAT’s it all about? SAS Viya® for Python Users Carrie Foreman, Amadeus Software Limited ABSTRACT Python® is described within the community as the “second-best language for everything” (CALLAHAN, 2018). The strength of Python as a language stems from its huge range of uses including as a tool for data science. Python is taught on many university courses and as a result there are a vast number of coders with Python skills in the data science industry. Last year at Amadeus we explored the use of SASpy as an initial tool to bridge the gap between Python and SAS 9.4 (FOREMAN, 2018), this year we move on to look at integration with SAS Viya®. In July 2016, SAS® released Python SWAT (Scripting Wrapper for Analytics Transfer), a Python library. It allows connections to CAS (Cloud Analytic Services) and therefore opens up SAS Viya’s functionality to Python users. SWAT allows users who do not have a SAS background to perform their data manipulation and analytics using more familiar Pythonic syntax whilst still harnessing the power of CAS and SAS Viya. In this paper we will demonstrate the use of Python SWAT to first connect to a CAS session, load data from Python into CAS and use CAS action sets to analyze it. We will then make the data available to other applications such as SAS Visual Analytics to demonstrate some of the functionality this gives. INTRODUCTION Python is an integral part of the data science culture and is used within many organizations worldwide. Many universities teach Python as part of technology courses creating a steady stream of Python enabled programmers who then take those skills into industry.
    [Show full text]
  • Introduction This Document Is an Individual Chapter from SAS/STAT® 13.1 User’S Guide
    SAS/STAT® 13.1 User’s Guide Introduction This document is an individual chapter from SAS/STAT® 13.1 User’s Guide. The correct bibliographic citation for the complete manual is as follows: SAS Institute Inc. 2013. SAS/STAT® 13.1 User’s Guide. Cary, NC: SAS Institute Inc. Copyright © 2013, SAS Institute Inc., Cary, NC, USA All rights reserved. Produced in the United States of America. For a hard-copy book: No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, or otherwise, without the prior written permission of the publisher, SAS Institute Inc. For a web download or e-book: Your use of this publication shall be governed by the terms established by the vendor at the time you acquire this publication. The scanning, uploading, and distribution of this book via the Internet or any other means without the permission of the publisher is illegal and punishable by law. Please purchase only authorized electronic editions and do not participate in or encourage electronic piracy of copyrighted materials. Your support of others’ rights is appreciated. U.S. Government License Rights; Restricted Rights: The Software and its documentation is commercial computer software developed at private expense and is provided with RESTRICTED RIGHTS to the United States Government. Use, duplication or disclosure of the Software by the United States Government is subject to the license terms of this Agreement pursuant to, as applicable, FAR 12.212, DFAR 227.7202-1(a), DFAR 227.7202-3(a) and DFAR 227.7202-4 and, to the extent required under U.S.
    [Show full text]
  • Insight MFR By
    Manufacturers, Publishers and Suppliers by Product Category 11/6/2017 10/100 Hubs & Switches ASCEND COMMUNICATIONS CIS SECURE COMPUTING INC DIGIUM GEAR HEAD 1 TRIPPLITE ASUS Cisco Press D‐LINK SYSTEMS GEFEN 1VISION SOFTWARE ATEN TECHNOLOGY CISCO SYSTEMS DUALCOMM TECHNOLOGY, INC. GEIST 3COM ATLAS SOUND CLEAR CUBE DYCONN GEOVISION INC. 4XEM CORP. ATLONA CLEARSOUNDS DYNEX PRODUCTS GIGAFAST 8E6 TECHNOLOGIES ATTO TECHNOLOGY CNET TECHNOLOGY EATON GIGAMON SYSTEMS LLC AAXEON TECHNOLOGIES LLC. AUDIOCODES, INC. CODE GREEN NETWORKS E‐CORPORATEGIFTS.COM, INC. GLOBAL MARKETING ACCELL AUDIOVOX CODI INC EDGECORE GOLDENRAM ACCELLION AVAYA COMMAND COMMUNICATIONS EDITSHARE LLC GREAT BAY SOFTWARE INC. ACER AMERICA AVENVIEW CORP COMMUNICATION DEVICES INC. EMC GRIFFIN TECHNOLOGY ACTI CORPORATION AVOCENT COMNET ENDACE USA H3C Technology ADAPTEC AVOCENT‐EMERSON COMPELLENT ENGENIUS HALL RESEARCH ADC KENTROX AVTECH CORPORATION COMPREHENSIVE CABLE ENTERASYS NETWORKS HAVIS SHIELD ADC TELECOMMUNICATIONS AXIOM MEMORY COMPU‐CALL, INC EPIPHAN SYSTEMS HAWKING TECHNOLOGY ADDERTECHNOLOGY AXIS COMMUNICATIONS COMPUTER LAB EQUINOX SYSTEMS HERITAGE TRAVELWARE ADD‐ON COMPUTER PERIPHERALS AZIO CORPORATION COMPUTERLINKS ETHERNET DIRECT HEWLETT PACKARD ENTERPRISE ADDON STORE B & B ELECTRONICS COMTROL ETHERWAN HIKVISION DIGITAL TECHNOLOGY CO. LT ADESSO BELDEN CONNECTGEAR EVANS CONSOLES HITACHI ADTRAN BELKIN COMPONENTS CONNECTPRO EVGA.COM HITACHI DATA SYSTEMS ADVANTECH AUTOMATION CORP. BIDUL & CO CONSTANT TECHNOLOGIES INC Exablaze HOO TOO INC AEROHIVE NETWORKS BLACK BOX COOL GEAR EXACQ TECHNOLOGIES INC HP AJA VIDEO SYSTEMS BLACKMAGIC DESIGN USA CP TECHNOLOGIES EXFO INC HP INC ALCATEL BLADE NETWORK TECHNOLOGIES CPS EXTREME NETWORKS HUAWEI ALCATEL LUCENT BLONDER TONGUE LABORATORIES CREATIVE LABS EXTRON HUAWEI SYMANTEC TECHNOLOGIES ALLIED TELESIS BLUE COAT SYSTEMS CRESTRON ELECTRONICS F5 NETWORKS IBM ALLOY COMPUTER PRODUCTS LLC BOSCH SECURITY CTC UNION TECHNOLOGIES CO FELLOWES ICOMTECH INC ALTINEX, INC.
    [Show full text]
  • SAS/ASSIST ® 9.1 the Correct Bibliographic Citation for This Manual Is As Follows: SAS Institute Inc
    Getting Started with SAS/ASSIST ® 9.1 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. Getting Started with SAS/ASSIST ® 9.1. Cary, NC: SAS Institute Inc. Getting Started with SAS/ASSIST® 9.1 Copyright © 2004, SAS Institute Inc., Cary, NC, USA ISBN 1–59047–205–5 All rights reserved. Produced in the United States of America. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, or otherwise, without the prior written permission of the publisher, SAS Institute Inc. U.S. Government Restricted Rights Notice. Use, duplication, or disclosure of this software and related documentation by the U.S. government is subject to the Agreement with SAS Institute and the restrictions set forth in FAR 52.227–19, Commercial Computer Software-Restricted Rights (June 1987). SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513. 1st printing, January 2004 SAS Publishing provides a complete selection of books and electronic products to help customers use SAS software to its fullest potential. For more information about our e-books, e-learning products, CDs, and hard-copy books, visit the SAS Publishing Web site at support.sas.com/pubs or call 1-800-727-3228. SAS® and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. IBM® and all other International Business Machines Corporation product or service names are registered trademarks or trademarks of International Business Machines Corporation in the USA and other countries.
    [Show full text]
  • They Have Very Good Docs At
    Intro to the Julia programming language Brendan O’Connor CMU, Dec 2013 They have very good docs at: http://julialang.org/ I’m borrowing some slides from: http://julialang.org/blog/2013/03/julia-tutorial-MIT/ 1 Tuesday, December 17, 13 Julia • A relatively new, open-source numeric programming language that’s both convenient and fast • Version 0.2. Still in flux, especially libraries. But the basics are very usable. • Lots of development momentum 2 Tuesday, December 17, 13 Why Julia? Dynamic languages are extremely popular for numerical work: ‣ Matlab, R, NumPy/SciPy, Mathematica, etc. ‣ very simple to learn and easy to do research in However, all have a “split language” approach: ‣ high-level dynamic language for scripting low-level operations ‣ C/C++/Fortran for implementing fast low-level operations Libraries in C — no productivity boost for library writers Forces vectorization — sometimes a scalar loop is just better slide from ?? 2012 3 Bezanson, Karpinski, Shah, Edelman Tuesday, December 17, 13 “Gang of Forty” Matlab Maple Mathematica SciPy SciLab IDL R Octave S-PLUS SAS J APL Maxima Mathcad Axiom Sage Lush Ch LabView O-Matrix PV-WAVE Igor Pro OriginLab FreeMat Yorick GAUSS MuPad Genius SciRuby Ox Stata JLab Magma Euler Rlab Speakeasy GDL Nickle gretl ana Torch7 slide from March 2013 4 Bezanson, Karpinski, Shah, Edelman Tuesday, December 17, 13 Numeric programming environments Core properties Dynamic Fast? and math-y? C/C++/ Fortran/Java − + Matlab + − Num/SciPy + − R + − Older table: http://brenocon.com/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-excel-sas-spss-stata/ Tuesday, December 17, 13 - Dynamic vs Fast: the usual tradeof - PL quality: more subjective.
    [Show full text]