The Art of R Programming

Total Page:16

File Type:pdf, Size:1020Kb

The Art of R Programming TAMETAME YOURYOUR DATADATA THE THE ART R PROGRAMMING OF THE THE ART R PROGRAMMING OF ARTART OFOF RR R is the world’s most popular language for developing • Interface R with C/C++ and Python for increased statistical software: Archaeologists use it to track the speed or functionality spread of ancient civilizations, drug companies use it • Find new packages for text analysis, image manipula- PROGRAMMINGPROGRAMMING to discover which medications are safe and effective, tion, and thousands more and actuaries use it to assess financial risks and keep A TOUR OF STATISTICAL SOFTWARE DESIGN markets running smoothly. • Squash annoying bugs with advanced debugging techniques The Art of R Programming takes you on a guided tour of software development with R, from basic types Whether you’re designing aircraft, forecasting the and data structures to advanced topics like closures, weather, or you just need to tame your data, The Art of NORMAN MATLOFF recursion, and anonymous functions. No statistical R Programming is your guide to harnessing the power knowledge is required, and your programming skills of statistical computing. can range from hobbyist to pro. ABOUT THE AUTHOR Along the way, you’ll learn about functional and object- Norman Matloff is a professor of computer science oriented programming, running mathematical simulations, (and a former professor of statistics) at the University and rearranging complex data into simpler, more useful of California, Davis. His research interests include formats. You’ll also learn to: parallel processing and statistical regression, and • Create artful graphs to visualize complex data sets he is the author of several widely used web tutorials and functions on software development. He has written articles for the New York Times, the Washington Post, Forbes • Write more efficient code using parallel R and Magazine, and the Los Angeles Times, and he is the vectorization co-author of The Art of Debugging (No Starch Press). THE FINEST IN GEEK ENTERTAINMENT™ www.nostarch.com MATLOFF “I LIE FLAT.” $39.95 ($41.95 CDN) This book uses RepKover —a durable binding that won’t snap shut. SOFTWARE STATISTICAL & COMPUTERS/MATHEMATICAL SHELVE IN: FSC LOGO THE ART OF R PROGRAMMING THE ART OF R PROGRAMMING A Tour of Statistical Software Design by Norman Matloff San Francisco THE ART OF R PROGRAMMING. Copyright © 2011 by Norman Matloff. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. 1514131211 123456789 ISBN-10: 1-59327-384-3 ISBN-13: 978-1-59327-384-2 Publisher: William Pollock Production Editor: Alison Law Cover and Interior Design: Octopod Studios Developmental Editor: Keith Fancher Technical Reviewer: Hadley Wickham Copyeditor: Marilyn Smith Compositors: Alison Law and Serena Yang Proofreader: Paula L. Fleming Indexer: BIM Indexing & Proofreading Services For information on book distributors or translations, please contact No Starch Press, Inc. directly: No Starch Press, Inc. 38 Ringold Street, San Francisco, CA 94103 phone: 415.863.9900; fax: 415.863.9950; [email protected]; www.nostarch.com Library of Congress Cataloging-in-Publication Data Matloff, Norman S. The art of R programming : tour of statistical software design / by Norman Matloff. p. cm. ISBN-13: 978-1-59327-384-2 ISBN-10: 1-59327-384-3 1. Statistics-Data processing. 2. R (Computer program language) I. Title. QA276.4.M2925 2011 519.50285'5133-dc23 2011025598 No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the infor- mation contained in it. BRIEF CONTENTS Acknowledgments ...................................................................xvii Introduction . ................................................................... xix Chapter 1: Getting Started . ......................................................... 1 Chapter 2: Vectors . ......................................................... 25 Chapter 3: Matrices and Arrays. .................................................. 59 Chapter 4: Lists. ................................................................... 85 Chapter 5: Data Frames . .........................................................101 Chapter 6: Factors and Tables . ..................................................121 Chapter 7: R Programming Structures ..................................................139 Chapter 8: Doing Math and Simulations in R . ........................................189 Chapter 9: Object-Oriented Programming . ........................................207 Chapter 10: Input/Output . .........................................................231 Chapter 11: String Manipulation . ..................................................251 Chapter 12: Graphics . .........................................................261 Chapter 13: Debugging . .........................................................285 Chapter 14: Performance Enhancement: Speed and Memory . .......................305 Chapter 15: Interfacing R to Other Languages . ........................................323 Chapter 16: Parallel R . .........................................................333 Appendix A: Installing R. .........................................................353 Appendix B: Installing and Using Packages . ........................................355 CONTENTS IN DETAIL ACKNOWLEDGMENTS xvii INTRODUCTION xix Why Use R for Your Statistical Work? .............................................. xix Object-Oriented Programming ............................................ xvii Functional Programming .................................................. xvii Whom Is This Book For? .......................................................... xviii My Own Background ............................................................. xix 1 GETTING STARTED 1 1.1 How to Run R .............................................................. 1 1.1.1 Interactive Mode ................................................ 2 1.1.2 Batch Mode .................................................... 3 1.2 A First R Session ............................................................ 4 1.3 Introduction to Functions ..................................................... 7 1.3.1 Variable Scope ................................................. 9 1.3.2 Default Arguments .............................................. 9 1.4 Preview of Some Important R Data Structures .................................. 10 1.4.1 Vectors, the R Workhorse ........................................ 10 1.4.2 Character Strings ............................................... 11 1.4.3 Matrices ....................................................... 11 1.4.4 Lists ........................................................... 12 1.4.5 Data Frames ................................................... 14 1.4.6 Classes ........................................................ 15 1.5 Extended Example: Regression Analysis of Exam Grades ....................... 16 1.6 Startup and Shutdown ...................................................... 19 1.7 Getting Help ............................................................... 20 1.7.1 The help() Function .............................................. 20 1.7.2 The example() Function .......................................... 21 1.7.3 If You Don’t Know Quite What You’re Looking For ................. 22 1.7.4 Help for Other Topics ........................................... 23 1.7.5 Help for Batch Mode ............................................ 24 1.7.6 Help on the Internet ............................................. 24 2 VECTORS 25 2.1 Scalars, Vectors, Arrays, and Matrices ....................................... 26 2.1.1 Adding and Deleting Vector Elements ............................. 26 2.1.2 Obtaining the Length of a Vector ................................. 27 2.1.3 Matrices and Arrays as Vectors .................................. 28 2.2 Declarations ............................................................... 28 2.3 Recycling .................................................................. 29 2.4 Common Vector Operations ................................................. 30 2.4.1 Vector Arithmetic and Logical Operations ......................... 30 2.4.2 Vector Indexing ................................................. 31 2.4.3 Generating Useful Vectors with the : Operator ..................... 32 2.4.4 Generating Vector Sequences with seq() .......................... 33 2.4.5 Repeating Vector Constants with rep()............................. 34 2.5 Using all() and any() ........................................................ 35 2.5.1 Extended Example: Finding Runs of Consecutive Ones ............. 35 2.5.2 Extended Example:
Recommended publications
  • Tinn-R Team Has a New Member Working on the Source Code: Wel- Come Huashan Chen
    Editus eBook Series Editus eBooks is a series of electronic books aimed at students and re- searchers of arts and sciences in general. Tinn-R Editor (2010 1. ed. Rmetrics) Tinn-R Editor - GUI forR Language and Environment (2014 2. ed. Editus) José Cláudio Faria Philippe Grosjean Enio Galinkin Jelihovschi Ricardo Pietrobon Philipe Silva Farias Universidade Estadual de Santa Cruz GOVERNO DO ESTADO DA BAHIA JAQUES WAGNER - GOVERNADOR SECRETARIA DE EDUCAÇÃO OSVALDO BARRETO FILHO - SECRETÁRIO UNIVERSIDADE ESTADUAL DE SANTA CRUZ ADÉLIA MARIA CARVALHO DE MELO PINHEIRO - REITORA EVANDRO SENA FREIRE - VICE-REITOR DIRETORA DA EDITUS RITA VIRGINIA ALVES SANTOS ARGOLLO Conselho Editorial: Rita Virginia Alves Santos Argollo – Presidente Andréa de Azevedo Morégula André Luiz Rosa Ribeiro Adriana dos Santos Reis Lemos Dorival de Freitas Evandro Sena Freire Francisco Mendes Costa José Montival Alencar Junior Lurdes Bertol Rocha Maria Laura de Oliveira Gomes Marileide dos Santos de Oliveira Raimunda Alves Moreira de Assis Roseanne Montargil Rocha Silvia Maria Santos Carvalho Copyright©2015 by JOSÉ CLÁUDIO FARIA PHILIPPE GROSJEAN ENIO GALINKIN JELIHOVSCHI RICARDO PIETROBON PHILIPE SILVA FARIAS Direitos desta edição reservados à EDITUS - EDITORA DA UESC A reprodução não autorizada desta publicação, por qualquer meio, seja total ou parcial, constitui violação da Lei nº 9.610/98. Depósito legal na Biblioteca Nacional, conforme Lei nº 10.994, de 14 de dezembro de 2004. CAPA Carolina Sartório Faria REVISÃO Amek Traduções Dados Internacionais de Catalogação na Publicação (CIP) T591 Tinn-R Editor – GUI for R Language and Environment / José Cláudio Faria [et al.]. – 2. ed. – Ilhéus, BA : Editus, 2015. xvii, 279 p. ; pdf Texto em inglês.
    [Show full text]
  • DECIPHER: Harnessing Local Sequence Context to Improve Protein Multiple Sequence Alignment Erik S
    Wright BMC Bioinformatics (2015) 16:322 DOI 10.1186/s12859-015-0749-z RESEARCH ARTICLE Open Access DECIPHER: harnessing local sequence context to improve protein multiple sequence alignment Erik S. Wright1,2 Abstract Background: Alignment of large and diverse sequence sets is a common task in biological investigations, yet there remains considerable room for improvement in alignment quality. Multiple sequence alignment programs tend to reach maximal accuracy when aligning only a few sequences, and then diminish steadily as more sequences are added. This drop in accuracy can be partly attributed to a build-up of error and ambiguity as more sequences are aligned. Most high-throughput sequence alignment algorithms do not use contextual information under the assumption that sites are independent. This study examines the extent to which local sequence context can be exploited to improve the quality of large multiple sequence alignments. Results: Two predictors based on local sequence context were assessed: (i) single sequence secondary structure predictions, and (ii) modulation of gap costs according to the surrounding residues. The results indicate that context-based predictors have appreciable information content that can be utilized to create more accurate alignments. Furthermore, local context becomes more informative as the number of sequences increases, enabling more accurate protein alignments of large empirical benchmarks. These discoveries became the basis for DECIPHER, a new context-aware program for sequence alignment, which outperformed other programs on largesequencesets. Conclusions: Predicting secondary structure based on local sequence context is an efficient means of breaking the independence assumption in alignment. Since secondary structure is more conserved than primary sequence, it can be leveraged to improve the alignment of distantly related proteins.
    [Show full text]
  • Rkward: a Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with R
    JSS Journal of Statistical Software June 2012, Volume 49, Issue 9. http://www.jstatsoft.org/ RKWard: A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with R Stefan R¨odiger Thomas Friedrichsmeier Charit´e-Universit¨atsmedizin Berlin Ruhr-University Bochum Prasenjit Kapat Meik Michalke The Ohio State University Heinrich Heine University Dusseldorf¨ Abstract R is a free open-source implementation of the S statistical computing language and programming environment. The current status of R is a command line driven interface with no advanced cross-platform graphical user interface (GUI), but it includes tools for building such. Over the past years, proprietary and non-proprietary GUI solutions have emerged, based on internal or external tool kits, with different scopes and technological concepts. For example, Rgui.exe and Rgui.app have become the de facto GUI on the Microsoft Windows and Mac OS X platforms, respectively, for most users. In this paper we discuss RKWard which aims to be both a comprehensive GUI and an integrated devel- opment environment for R. RKWard is based on the KDE software libraries. Statistical procedures and plots are implemented using an extendable plugin architecture based on ECMAScript (JavaScript), R, and XML. RKWard provides an excellent tool to manage different types of data objects; even allowing for seamless editing of certain types. The objective of RKWard is to provide a portable and extensible R interface for both basic and advanced statistical and graphical analysis, while not compromising on flexibility and modularity of the R programming environment itself. Keywords: GUI, integrated development environment, plugin, R.
    [Show full text]
  • 'Unix' in a File
    ============================ AWK COMMANDS ================================ 1) find the total occurances of pattern of 'unix' in a file. ==> $awk '/unix/ {count++} END{print count}' nova.txt 2) find the total line of a file. ==> $awk 'END{print NR}' nova.txt 3) print the total number of even line of a file. ==> $awk 'NR % 2' nova.txt 4) print the total number of odd line of a file. ==> $awk 'NR % 2 == 1' nova.txt 5) print the sums of the field of every line of a file. ==> $awk '{ sum = $3+sum } END{print sum}' emp.txt 6) display those words whose length greater than 10 and consist of digits only in file awk ==> $awk '/^[0-9]+$/ length<10 {print}' t3.txt 7) display those words whose length less than 10 and consist of alpha only in file awk ==> $awk '/^[a-zA-Z]+$/ length >3 {print}' t3.txt 8) print odd number of word in each line ==> awk -F\| '{s="";for (i=1;i<=NF;i+=2) { {s=s? $i:$i} print s }}' nova.txt { s = ""; for (i = 1; i <= NF; i+=2) { s = s ? $i : $i } print s } 9) print even number of word in each line ==> awk -F\| '{s="";for (i=0;i<=NF;i+=2) { {s=s? $i:$i} print s }}' nova.txt ==> { s = ""; for (i = 0; i <= NF; i+=2) { s = s ? $i : $i } print s } 10) print the last character of a string using awk ==> awk '{print substr($0,length($0),1)}' nova.txt ============================ MIX COMMANDS ================================ 1) Assign value of 10th positional parameter to 1 variable x. ==> x=${10} 2) Display system process; ==> ps -e ==> ps -A 3) Display number of process; ==> ps aux 4) to run a utility x1 at 11:00 AM ==> at 11:00 am x1 5) Write a command to print only last 3 characters of a line or string.
    [Show full text]
  • 5 Command Line Functions by Barbara C
    ADAPS: Chapter 5. Command Line Functions 5 Command Line Functions by Barbara C. Hoopes and James F. Cornwall This chapter describes ADAPS command line functions. These are functions that are executed from the UNIX command line instead of from ADAPS menus, and that may be run manually or by automated means such as “cron” jobs. Most of these functions are NOT accessible from the ADAPS menus. These command line functions are described in detail below. 5.1 Hydra Although Hydra is available from ADAPS at the PR sub-menu, Edit Time Series Data using Hydra (TS_EDIT), it can also be started from the command line. However, to start Hydra outside of ADAPS, a DV or UV RDB file needs to be available to edit. The command is “hydra rdb_file_name.” For a complete description of using Hydra, refer to Section 4.5.2 Edit Time-Series Data using Hydra (TS_EDIT). 5.2 nwrt2rdb This command is used to output rating information in RDB format. It writes RDB files with a table containing the rating equation parameters or the rating point pairs, with all other information contained in the RDB comments. The following arguments can be used with this command: nwrt2rdb -ooutfile -zdbnum -aagency -nstation -dddid -trating_type -irating_id -e (indicates to output ratings in expanded form; it is ignored for equation ratings.) -l loctzcd (time zone code or local time code "LOC") -m (indicates multiple output files.) -r (rounding suppression) Rules • If -o is omitted, nwrt2rdb writes to stdout; AND arguments -n, -d, -t, and -i must be present. • If -o is present, no other arguments are required, and the program will use ADAPS routines to prompt for them.
    [Show full text]
  • The AWK Programming Language
    The Programming ~" ·. Language PolyAWK- The Toolbox Language· Auru:o V. AHo BRIAN W.I<ERNIGHAN PETER J. WEINBERGER TheAWK4 Programming~ Language TheAWI(. Programming~ Language ALFRED V. AHo BRIAN w. KERNIGHAN PETER J. WEINBERGER AT& T Bell Laboratories Murray Hill, New Jersey A ADDISON-WESLEY•• PUBLISHING COMPANY Reading, Massachusetts • Menlo Park, California • New York Don Mills, Ontario • Wokingham, England • Amsterdam • Bonn Sydney • Singapore • Tokyo • Madrid • Bogota Santiago • San Juan This book is in the Addison-Wesley Series in Computer Science Michael A. Harrison Consulting Editor Library of Congress Cataloging-in-Publication Data Aho, Alfred V. The AWK programming language. Includes index. I. AWK (Computer program language) I. Kernighan, Brian W. II. Weinberger, Peter J. III. Title. QA76.73.A95A35 1988 005.13'3 87-17566 ISBN 0-201-07981-X This book was typeset in Times Roman and Courier by the authors, using an Autologic APS-5 phototypesetter and a DEC VAX 8550 running the 9th Edition of the UNIX~ operating system. -~- ATs.T Copyright c 1988 by Bell Telephone Laboratories, Incorporated. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopy­ ing, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Published simultaneously in Canada. UNIX is a registered trademark of AT&T. DEFGHIJ-AL-898 PREFACE Computer users spend a lot of time doing simple, mechanical data manipula­ tion - changing the format of data, checking its validity, finding items with some property, adding up numbers, printing reports, and the like.
    [Show full text]
  • Analysis the Structure of SAM and Cracking Password Base on Windows Operating System
    International Journal of Future Computer and Communication, Vol. 5, No. 2, April 2016 Analysis the Structure of SAM and Cracking Password Base on Windows Operating System Jiang Du and Jiwei Li latest Windows 10, the registry contains information that Abstract—Cracking Windows account password is critical to Windows continually references during operation, such as the forensic analyst. The general methods of decipher password profiles for each user, the applications installed on the include clean the password, guess by social engineering, computer and the types of documents, property sheet settings mathematical analyzing, exhaustive attacking, dictionary attacking and rainbow tables algorithm. This paper provides the of folders and application icons, what hardware exists on the details about the Security Account Manager(SAM) database system, and the ports that are being used [3]. On disk, the and describes how to get the user information from SAM and Windows registry is not only a large file but a set of discrete cracks account password of Windows 10 that the latest files called hives. Each hive is a hierarchical tree which operating system of Microsoft. identified by a root key to provide access to all sub-keys in the tree up to 512 levels deep. Index Terms—SAM, decipher password, crack password, Windows 10. III. SECURITY ACCOUNT MANAGER (SAM) I. INTRODUCTION Security Account Manager (SAM) is a database used to In the process of computer forensic the analyst need to store user account information, including password, account enter the Windows operating system by cracking windows groups, access rights, and special privileges in Windows account password to collect evidence at times.
    [Show full text]
  • Decipher Prostate Cancer Classifier
    Lab Management Guidelines v2.0.2019 Decipher Prostate Cancer Classifier MOL.TS.294.A v2.0.2019 Procedures addressed The inclusion of any procedure code in this table does not imply that the code is under management or requires prior authorization. Refer to the specific Health Plan's procedure code list for management requirements. Procedures addressed by this Procedure codes guideline Decipher Prostate Cancer Classifier 81479 What are gene expression profiling tests for prostate cancer Definition Prostate cancer (PC) is the most common cancer and a leading cause of cancer- related deaths worldwide. It is considered a heterogeneous disease with highly variable prognosis.1 High-risk prostate cancer (PC) patients treated with radical prostatectomy (RP) undergo risk assessment to assess future disease prognosis and determine optimal treatment strategies. Post-RP pathology findings, such as disease stage, baseline Gleason score, time of biochemical recurrence (BCR) after RP, and PSA doubling- time, are considered strong predictors of disease-associated metastasis and mortality. Following RP, up to 50% of patients have pathology or clinical features that are considered at high risk of recurrence and these patients usually undergo post-RP treatments, including adjuvant or salvage therapy or radiation therapy, which can have serious risks and complications. According to clinical practice guideline recommendations, high risk patients should undergo 6 to 8 weeks of radiation therapy (RT) following RP. However, approximately 90% of high-risk patients
    [Show full text]
  • Comparing Tools for Non-Coding RNA Multiple Sequence Alignment Based On
    Downloaded from rnajournal.cshlp.org on September 26, 2021 - Published by Cold Spring Harbor Laboratory Press ES Wright 1 1 TITLE 2 RNAconTest: Comparing tools for non-coding RNA multiple sequence alignment based on 3 structural consistency 4 Running title: RNAconTest: benchmarking comparative RNA programs 5 Author: Erik S. Wright1,* 6 1 Department of Biomedical Informatics, University of Pittsburgh (Pittsburgh, PA) 7 * Corresponding author: Erik S. Wright ([email protected]) 8 Keywords: Multiple sequence alignment, Secondary structure prediction, Benchmark, non- 9 coding RNA, Consensus secondary structure 10 Downloaded from rnajournal.cshlp.org on September 26, 2021 - Published by Cold Spring Harbor Laboratory Press ES Wright 2 11 ABSTRACT 12 The importance of non-coding RNA sequences has become increasingly clear over the past 13 decade. New RNA families are often detected and analyzed using comparative methods based on 14 multiple sequence alignments. Accordingly, a number of programs have been developed for 15 aligning and deriving secondary structures from sets of RNA sequences. Yet, the best tools for 16 these tasks remain unclear because existing benchmarks contain too few sequences belonging to 17 only a small number of RNA families. RNAconTest (RNA consistency test) is a new 18 benchmarking approach relying on the observation that secondary structure is often conserved 19 across highly divergent RNA sequences from the same family. RNAconTest scores multiple 20 sequence alignments based on the level of consistency among known secondary structures 21 belonging to reference sequences in their output alignment. Similarly, consensus secondary 22 structure predictions are scored according to their agreement with one or more known structures 23 in a family.
    [Show full text]
  • Statistical Graphical User Interface Plug-In for Survival Analysis in R Statistical and Graphics Language and Environment
    Applied Medical Informatics Original Research Vol. 23, No. 3-4/2008, pp: 57 - 62 Statistical Graphical User Interface Plug-In for Survival Analysis in R Statistical and Graphics Language and Environment Daniel C. LEUCUŢA*, Andrei ACHIMAŞ CADARIU „Iuliu Haţieganu” University of Medicine and Pharmacy Cluj-Napoca, Department of Medical Informatics and Biostatistics, 6 Louis Pasteur, 400349 Cluj-Napoca, Romania. E-mail: [email protected] * Author to whom correspondence should be addressed; Tel.: +4-0264-431697; Fax: +4-0264- 593847. Abstract: Introduction: R is a statistical and graphics language and environment. Although it is extensively used in command line, graphical user interfaces exist to ease the accommodation with it for new users. Rcmdr is an R package providing a basic-statistics graphical user interface to R. Survival analysis interface is not provided by Rcmdr. The AIM of this paper was to create a plug-in for Rcmdr to provide survival analysis user interface for some basic R survival analysis functions. Materials and Methods: The Rcmdr plug-in code was written in Tinn-R. The plug-in package was tested and built with Rtools. The plug-in was installed and tested in R with Rcmdr package on a Windows XP workstation with the "aml" and "kidney" data sets from survival R package. Results: The Rcmdr survival analysis plug-in was successfully built and it provides the functionality it was designed to offer: interface for Kaplan Meier and log log survival graph, interface for the log-rank test, interface to create a Cox proportional hazard regression model, interface commands to test and assess graphically the proportional hazard assumption, and influence observations.
    [Show full text]
  • The Evolution of the Unix Time-Sharing System*
    The Evolution of the Unix Time-sharing System* Dennis M. Ritchie Bell Laboratories, Murray Hill, NJ, 07974 ABSTRACT This paper presents a brief history of the early development of the Unix operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system. NOTE: *This paper was first presented at the Language Design and Programming Methodology conference at Sydney, Australia, September 1979. The conference proceedings were published as Lecture Notes in Computer Science #79: Language Design and Programming Methodology, Springer-Verlag, 1980. This rendition is based on a reprinted version appearing in AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93. Introduction During the past few years, the Unix operating system has come into wide use, so wide that its very name has become a trademark of Bell Laboratories. Its important characteristics have become known to many people. It has suffered much rewriting and tinkering since the first publication describing it in 1974 [1], but few fundamental changes. However, Unix was born in 1969 not 1974, and the account of its development makes a little-known and perhaps instructive story. This paper presents a technical and social history of the evolution of the system. Origins For computer science at Bell Laboratories, the period 1968-1969 was somewhat unsettled. The main reason for this was the slow, though clearly inevitable, withdrawal of the Labs from the Multics project. To the Labs computing community as a whole, the problem was the increasing obviousness of the failure of Multics to deliver promptly any sort of usable system, let alone the panacea envisioned earlier.
    [Show full text]
  • PR 6201 (500 Kg… 50 T) Precision Compression Load Cell
    PR 6201 (500 kg… 50 t) Precision Compression Load Cell 500 kg… 50 t Type LA | L | D1 | C3 – Easy to install – Well-proven rockerpin design – Easy corner adjustment by matched load cell output – Full stainless steel housing – Wide temperature range – High overload capacity – Resistant against vibrations – Hermetically sealed, IP68 (depth of 1.5 m for 10,000 hrs.), IP69K – 4 to 20 mA output signal as option (LA version) – Optimum overvoltage protection – Ex-version available (PR 6201/..E) – W&M aprroval (OIML R60, NTEP) Product Profile At the same time, this range distinguishes There is an especially wide working tempera- The PR 6201 range of load cells is specially itself – in addition to its high measurement ture range attributable to sophisticated designed for weighing silos, tanks and accuracy and repeatability - above all for resistance strain gauge technology. The process vessels. its unmatched reliability, robustness and hermetically sealed enclosure and special stability, which offer trouble-free operation TPE cable allow the unit to be used even The unique design principle, in combination without adjustment, year after year. under extreme operating conditions in with the FlexLock installation kits, makes harsh production environments. it possible to balance out movements arising The pendulum support principle, combined from mechanical or thermal ex pansion or with patented measuring element geometry, The entire measurement chain can be contraction of the vessel or its supporting ensures that force transmission into the calibrated without the use of reference construction. sensor is always at the optimum level and, weights. Due to “matched output” techno- in this way, the effect on measurement logy, a damaged load cell can be exchanged A particular design characteristic is that the accuracy is minimized.
    [Show full text]