Writing R Extensions

Total Page:16

File Type:pdf, Size:1020Kb

Writing R Extensions Writing R Extensions Version 4.1.1 Patched (2021-09-22) R Core Team This manual is for R, version 4.1.1 Patched (2021-09-22). Copyright c 1999{2021 R Core Team Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into an- other language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the R Core Team. i Table of Contents Acknowledgements ::::::::::::::::::::::::::::::::::::::::::::::::: 1 1 Creating R packages ::::::::::::::::::::::::::::::::::::::::::: 2 1.1 Package structure :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 1.1.1 The DESCRIPTION file ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 1.1.2 Licensing ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 1.1.3 Package Dependencies::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 9 1.1.3.1 Suggested packages:::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 1.1.4 The INDEX file ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 13 1.1.5 Package subdirectories ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 13 1.1.6 Data in packages::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 16 1.1.7 Non-R scripts in packages :::::::::::::::::::::::::::::::::::::::::::::::::::: 18 1.1.8 Specifying URLs ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 19 1.2 Configure and cleanup :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 19 1.2.1 Using Makevars:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 23 1.2.1.1 OpenMP support ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 26 1.2.1.2 Using pthreads :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 28 1.2.1.3 Compiling in sub-directories ::::::::::::::::::::::::::::::::::::::::::::: 29 1.2.2 Configure example ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 30 1.2.3 Using F9x code :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 31 1.2.4 Using C++ code ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 32 1.3 Checking and building packages ::::::::::::::::::::::::::::::::::::::::::::::::::: 34 1.3.1 Checking packages ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 34 1.3.2 Building package tarballs::::::::::::::::::::::::::::::::::::::::::::::::::::: 38 1.3.3 Building binary packages ::::::::::::::::::::::::::::::::::::::::::::::::::::: 39 1.4 Writing package vignettes ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 40 1.4.1 Encodings and vignettes ::::::::::::::::::::::::::::::::::::::::::::::::::::: 42 1.4.2 Non-Sweave vignettes :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 42 1.5 Package namespaces :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 43 1.5.1 Specifying imports and exports::::::::::::::::::::::::::::::::::::::::::::::: 44 1.5.2 Registering S3 methods :::::::::::::::::::::::::::::::::::::::::::::::::::::: 45 1.5.3 Load hooks :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45 1.5.4 useDynLib ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 46 1.5.5 An example:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 48 1.5.6 Namespaces with S4 classes and methods ::::::::::::::::::::::::::::::::::::: 48 1.6 Writing portable packages::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 50 1.6.1 PDF size :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 59 1.6.2 Check timing :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 59 1.6.3 Encoding issues :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 60 1.6.4 Portable C and C++ code ::::::::::::::::::::::::::::::::::::::::::::::::::: 61 1.6.4.1 Common symbols ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 66 1.6.5 Binary distribution :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 66 1.7 Diagnostic messages :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 67 1.8 Internationalization ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 68 1.8.1 C-level messages ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 68 1.8.2 R messages :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 69 1.8.3 Preparing translations ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 69 1.9 CITATION files :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 69 ii 1.10 Package types ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 70 1.10.1 Frontend ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 70 1.11 Services ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 71 2 Writing R documentation files ::::::::::::::::::::::::::::::: 72 2.1 Rd format :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 72 2.1.1 Documenting functions::::::::::::::::::::::::::::::::::::::::::::::::::::::: 73 2.1.2 Documenting data sets ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 77 2.1.3 Documenting S4 classes and methods::::::::::::::::::::::::::::::::::::::::: 78 2.1.4 Documenting packages ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 79 2.2 Sectioning :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 79 2.3 Marking text ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 80 2.4 Lists and tables::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 82 2.5 Cross-references::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 82 2.6 Mathematics:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 83 2.7 Figures ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 83 2.8 Insertions::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 84 2.9 Indices ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 85 2.10 Platform-specific documentation ::::::::::::::::::::::::::::::::::::::::::::::::: 85 2.11 Conditional text ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 85 2.12 Dynamic pages :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 86 2.13 User-defined macros ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 87 2.14 Encoding :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 88 2.15 Processing documentation files ::::::::::::::::::::::::::::::::::::::::::::::::::: 88 2.16 Editing Rd files:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 89 3 Tidying and profiling R code :::::::::::::::::::::::::::::::: 90 3.1 Tidying R code ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 90 3.2 Profiling R code for speed::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 90 3.3 Profiling R code for memory use :::::::::::::::::::::::::::::::::::::::::::::::::: 92 3.3.1 Memory statistics from Rprof :::::::::::::::::::::::::::::::::::::::::::::::: 92 3.3.2 Tracking memory allocations ::::::::::::::::::::::::::::::::::::::::::::::::: 93 3.3.3 Tracing copies of an object ::::::::::::::::::::::::::::::::::::::::::::::::::: 93 3.4 Profiling compiled code ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 93 3.4.1 Linux :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 94 3.4.1.1 sprof :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 94 3.4.1.2 oprofile and operf ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 94 3.4.2 Solaris ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 97 3.4.3 macOS :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 97 4 Debugging ::::::::::::::::::::::::::::::::::::::::::::::::::::: 98 4.1 Browsing ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 98 4.2 Debugging R code :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 99 4.3 Checking memory access ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 102 4.3.1 Using gctorture ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 103 4.3.2 Using valgrind :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 103 4.3.3 Using the Address Sanitizer ::::::::::::::::::::::::::::::::::::::::::::::::: 105 4.3.3.1 Using the Leak Sanitizer ::::::::::::::::::::::::::::::::::::::::::::::: 106 4.3.4 Using the Undefined Behaviour Sanitizer :::::::::::::::::::::::::::::::::::: 107 4.3.5 Other analyses with `clang' ::::::::::::::::::::::::::::::::::::::::::::::::: 108 4.3.6 Other analyses with `gcc' ::::::::::::::::::::::::::::::::::::::::::::::::::: 108 4.3.7 Using `Dr. Memory' :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 108 4.3.8 Fortran array bounds checking :::::::::::::::::::::::::::::::::::::::::::::: 108 iii 4.4 Debugging compiled code :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 109 4.4.1 Finding entry points in dynamically loaded code :::::::::::::::::::::::::::: 110 4.4.2 Inspecting R objects when debugging ::::::::::::::::::::::::::::::::::::::: 111 4.4.3 Debugging on macOS :::::::::::::::::::::::::::::::::::::::::::::::::::::::
Recommended publications
  • Source Code Trees in the VALLEY of THE
    PROGRAMMING GNOME Source code trees IN THE VALLEY OF THE CODETHORSTEN FISCHER So you’ve just like the one in Listing 1. Not too complex, eh? written yet another Unfortunately, creating a Makefile isn’t always the terrific GNOME best solution, as assumptions on programs program. Great! But locations, path names and others things may not be does it, like so many true in all cases, forcing the user to edit the file in other great programs, order to get it to work properly. lack something in terms of ease of installation? Even the Listing 1: A simple Makefile for a GNOME 1: CC=/usr/bin/gcc best and easiest to use programs 2: CFLAGS=`gnome-config —cflags gnome gnomeui` will cause headaches if you have to 3: LDFLAGS=`gnome-config —libs gnome gnomeui` type in lines like this, 4: OBJ=example.o one.o two.o 5: BINARIES=example With the help of gcc -c sourcee.c gnome-config —libs —cflags 6: gnome gnomeui gnomecanvaspixbuf -o sourcee.o 7: all: $(BINARIES) Automake and Autoconf, 8: you can create easily perhaps repeated for each of the files, and maybe 9: example: $(OBJ) with additional compiler flags too, only to then 10: $(CC) $(LDFLAGS) -o $@ $(OBJ) installed source code demand that everything is linked. And at the end, 11: do you then also have to copy the finished binary 12: .c.o: text trees. Read on to 13: $(CC) $(CFLAGS) -c $< manually into the destination directory? Instead, 14: find out how. wouldn’t you rather have an easy, portable and 15: clean: quick installation process? Well, you can – if you 16: rm -rf $(OBJ) $(BINARIES) know how.
    [Show full text]
  • Red Hat Enterprise Linux 6 Developer Guide
    Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Dave Brolley William Cohen Roland Grunberg Aldy Hernandez Karsten Hopp Jakub Jelinek Developer Guide Jeff Johnston Benjamin Kosnik Aleksander Kurtakov Chris Moller Phil Muldoon Andrew Overholt Charley Wang Kent Sebastian Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Edition 0 Author Dave Brolley [email protected] Author William Cohen [email protected] Author Roland Grunberg [email protected] Author Aldy Hernandez [email protected] Author Karsten Hopp [email protected] Author Jakub Jelinek [email protected] Author Jeff Johnston [email protected] Author Benjamin Kosnik [email protected] Author Aleksander Kurtakov [email protected] Author Chris Moller [email protected] Author Phil Muldoon [email protected] Author Andrew Overholt [email protected] Author Charley Wang [email protected] Author Kent Sebastian [email protected] Editor Don Domingo [email protected] Editor Jacquelynn East [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
    [Show full text]
  • Instructions for Creating Your Own R Package∗
    Instructions for Creating Your Own R Package∗ In Song Kimy Phil Martinz Nina McMurryx Andy Halterman{ March 18, 2018 1 Introduction The following is a step-by-step guide to creating your own R package. Even beyond this course, you may find this useful for storing functions you create for your own research or for editing existing R packages to suit your needs. This guide contains three different sets of instructions. If you use RStudio, you can follow the \Ba- sic Instructions" in Section 2 which involve using RStudio's interface. If you do not use RStudio or you do use RStudio but want a little bit more of control, follow the instructions in Section 3. Section 4 illustrates how to create a R package with functions written in C++ via Rcpp helper functions. NOTE: Write all of your functions first (in R or RStudio) and make sure they work properly before you start compiling your package. You may also want to try compiling with a very simple function first (e.g. myfun <- function(x)fx + 7g). 2 Basic Instructions (for RStudio Users Only) All of the following should be done in RStudio, unless otherwise noted. Even if you build your package in RStudio using the \Basic Instructions," we strongly recommend that you carefully review the \Advanced Instructions" as well. RStudio has built-in tools that will do many of these steps for you, but knowing how to do them manually will make it easier for you to build and distribute your own packages in the future and/or adapt existing packages.
    [Show full text]
  • Rstudio Connect: Admin Guide Version 1.5.12-7
    RStudio Connect: Admin Guide Version 1.5.12-7 Abstract This guide will help an administrator install and configure RStudio Connect on a managed server. You will learn how to install the product on different operating systems, configure authentication, and monitor system resources. Contents 1 Introduction 4 1.1 System Requirements . .4 2 Getting Started 5 2.1 Installation . .5 2.2 Initial Configuration . .7 3 License Management 9 3.1 Capabilities . .9 3.2 Notification of Expiration . .9 3.3 Product Activation . .9 3.4 Connectivity Requirements . 10 3.5 Evaluations . 11 3.6 Licensing Errors . 12 3.7 Floating Licensing . 12 4 Files & Directories 15 4.1 Program Files . 15 4.2 Configuration . 15 4.3 Server Log . 15 4.4 Access Logs . 16 4.5 Application Logs . 16 4.6 Variable Data . 16 4.7 Backups . 18 4.8 Server Migrations . 18 5 Server Management 19 5.1 Stopping and Starting . 19 5.2 System Messages . 21 5.3 Health-Check . 21 5.4 Upgrading . 21 5.5 Purging RStudio Connect . 22 6 High Availability and Load Balancing 22 6.1 HA Checklist . 22 6.2 HA Limitations . 23 6.3 Updating HA Nodes . 24 6.4 Downgrading . 24 6.5 HA Details . 24 1 7 Running with a Proxy 25 7.1 Nginx Configuration . 26 7.2 Apache Configuration . 27 8 Security & Auditing 28 8.1 API Security . 28 8.2 Browser Security . 28 8.3 Audit Logs . 30 8.4 Audit Logs Command-Line Interface . 31 9 Database 31 9.1 SQLite . 31 9.2 PostgreSQL .
    [Show full text]
  • Cambridge University Press 978-1-108-78987-5 — How to Write Good Programs Perdita Stevens Index More Information
    Cambridge University Press 978-1-108-78987-5 — How to Write Good Programs Perdita Stevens Index More Information Index A bold page number indicates where a term is deined. abstract syntax tree, 105 C, 35, 45, 189 abstraction, 29, 141 C♯,35 see also model C++, 35, 190 agile, 64, 159, 198 camel case, 89 algorithm, 29, 147, 148, 196 change, 141, 144, 197 Alice, 44 checklist, 127 arguments, 25,28 cloud, 66 functions as, 45 code order of, 108 commented-out, 62 type of, 41, 108 completion, 52,90 assert, 71 dead, 64 assignment, 131 line length, 99 vs. comparison, 126 reputable body of, 46, 63, 94, 99 Atom, 18 spaghetti, 98, 122 autocompletion, 52,90 unreachable, 64 autosave, 57 code sense, 3, 133 coding, 4 backups, 65 coding dojo, 153 bar, see metasyntactic variable coding interview, 148 BASIC, 44, 125 command line, 15, 49 baz, see metasyntactic variable comment, 27, 70, 85–88 BlueJ, 44, 54 commenting-out, 62 breakpoint, 111 comparison bug, 32, 101, 190, 191 of booleans, 126 after removing, 124 of objects, 130 avoiding, 138 vs. assignment, 126 avoiding recurrence of, 77 compiler, 13, 35 in compiler, 109 bug, 109 removing, 122 incremental, 51 the Lauren bug, 78 computational complexity, 148 see also debugging content assist, 52,90 build, 51, 53 contract, 88 202 © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-1-108-78987-5 — How to Write Good Programs Perdita Stevens Index More Information Index 203 crash, 118 time, 146 currying, 23 user, 146 Emacs, 18, 49, 58, 90, 95 data science, 192 embedded
    [Show full text]
  • The GNOME Desktop Environment
    The GNOME desktop environment Miguel de Icaza ([email protected]) Instituto de Ciencias Nucleares, UNAM Elliot Lee ([email protected]) Federico Mena ([email protected]) Instituto de Ciencias Nucleares, UNAM Tom Tromey ([email protected]) April 27, 1998 Abstract We present an overview of the free GNU Network Object Model Environment (GNOME). GNOME is a suite of X11 GUI applications that provides joy to users and hackers alike. It has been designed for extensibility and automation by using CORBA and scripting languages throughout the code. GNOME is licensed under the terms of the GNU GPL and the GNU LGPL and has been developed on the Internet by a loosely-coupled team of programmers. 1 Motivation Free operating systems1 are excellent at providing server-class services, and so are often the ideal choice for a server machine. However, the lack of a consistent user interface and of consumer-targeted applications has prevented free operating systems from reaching the vast majority of users — the desktop users. As such, the benefits of free software have only been enjoyed by the technically savvy computer user community. Most users are still locked into proprietary solutions for their desktop environments. By using GNOME, free operating systems will have a complete, user-friendly desktop which will provide users with powerful and easy-to-use graphical applications. Many people have suggested that the cause for the lack of free user-oriented appli- cations is that these do not provide enough excitement to hackers, as opposed to system- level programming. Since most of the GNOME code had to be written by hackers, we kept them happy: the magic recipe here is to design GNOME around an adrenaline response by trying to use exciting models and ideas in the applications.
    [Show full text]
  • Fira Code: Monospaced Font with Programming Ligatures
    Personal Open source Business Explore Pricing Blog Support This repository Sign in Sign up tonsky / FiraCode Watch 282 Star 9,014 Fork 255 Code Issues 74 Pull requests 1 Projects 0 Wiki Pulse Graphs Monospaced font with programming ligatures 145 commits 1 branch 15 releases 32 contributors OFL-1.1 master New pull request Find file Clone or download lf- committed with tonsky Add mintty to the ligatures-unsupported list (#284) Latest commit d7dbc2d 16 days ago distr Version 1.203 (added `__`, closes #120) a month ago showcases Version 1.203 (added `__`, closes #120) a month ago .gitignore - Removed `!!!` `???` `;;;` `&&&` `|||` `=~` (closes #167) `~~~` `%%%` 3 months ago FiraCode.glyphs Version 1.203 (added `__`, closes #120) a month ago LICENSE version 0.6 a year ago README.md Add mintty to the ligatures-unsupported list (#284) 16 days ago gen_calt.clj Removed `/**` `**/` and disabled ligatures for `/*/` `*/*` sequences … 2 months ago release.sh removed Retina weight from webfonts 3 months ago README.md Fira Code: monospaced font with programming ligatures Problem Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like -> , <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet. Solution Download v1.203 · How to install · News & updates Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character combinations.
    [Show full text]
  • Section “Creating R Packages” in Writing R Extensions
    Writing R Extensions Version 3.1.0 Under development (2013-03-29) R Core Team Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the R Core Team. Copyright c 1999{2013 R Core Team i Table of Contents Acknowledgements ::::::::::::::::::::::::::::::::: 1 1 Creating R packages:::::::::::::::::::::::::::: 2 1.1 Package structure :::::::::::::::::::::::::::::::::::::::::::::: 3 1.1.1 The `DESCRIPTION' file :::::::::::::::::::::::::::::::::::: 4 1.1.2 Licensing:::::::::::::::::::::::::::::::::::::::::::::::::: 9 1.1.3 The `INDEX' file :::::::::::::::::::::::::::::::::::::::::: 10 1.1.4 Package subdirectories:::::::::::::::::::::::::::::::::::: 11 1.1.5 Data in packages ::::::::::::::::::::::::::::::::::::::::: 14 1.1.6 Non-R scripts in packages :::::::::::::::::::::::::::::::: 15 1.2 Configure and cleanup :::::::::::::::::::::::::::::::::::::::: 16 1.2.1 Using `Makevars'::::::::::::::::::::::::::::::::::::::::: 19 1.2.1.1 OpenMP support::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Econometric Data Science
    Econometric Data Science Francis X. Diebold University of Pennsylvania October 22, 2019 1 / 280 Copyright c 2013-2019, by Francis X. Diebold. All rights reserved. All materials are freely available for your use, but be warned: they are highly preliminary, significantly incomplete, and rapidly evolving. All are licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. (Briefly: I retain copyright, but you can use, copy and distribute non-commercially, so long as you give me attribution and do not modify. To view a copy of the license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.) In return I ask that you please cite the books whenever appropriate, as: "Diebold, F.X. (year here), Book Title Here, Department of Economics, University of Pennsylvania, http://www.ssc.upenn.edu/ fdiebold/Textbooks.html." The painting is Enigma, by Glen Josselsohn, from Wikimedia Commons. 2 / 280 Introduction 3 / 280 Numerous Communities Use Econometrics Economists, statisticians, analysts, "data scientists" in: I Finance (Commercial banking, retail banking, investment banking, insurance, asset management, real estate, ...) I Traditional Industry (manufacturing, services, advertising, brick-and-mortar retailing, ...) I e-Industry (Google, Amazon, eBay, Uber, Microsoft, ...) I Consulting (financial services, litigation support, ...) I Government (treasury, agriculture, environment, commerce, ...) I Central Banks and International Organizations (FED, IMF, World Bank, OECD, BIS, ECB, ...) 4 / 280 Econometrics is Special Econometrics is not just \statistics using economic data". Many properties and nuances of economic data require knowledge of economics for sucessful analysis. I Emphasis on predictions, guiding decisions I Observational data I Structural change I Volatility fluctuations ("heteroskedasticity") I Even trickier in time series: Trend, Seasonality, Cycles ("serial correlation") 5 / 280 Let's Elaborate on the \Emphasis on Predictions Guiding Decisions"..
    [Show full text]
  • Why and How I Use Lilypond Daniel F
    Why and How I Use LilyPond Daniel F. Savarese Version 1.1 Copyright © 2018 Daniel F. Savarese1 even with an academic discount. I never got my money's Introduction worth out of it. At the time I couldn't explain exactly why, but I was never productive using it. In June of 2017, I received an email from someone using my classical guitar transcriptions inquiring about how I Years later, when I started playing piano, I upgraded to use LilyPond2 to typeset (or engrave) music. He was the latest version of Finale and suddenly found it easier dissatisfied with his existing WYSIWYG3 commercial to produce scores using the software. It had nothing to software and was looking for alternatives. He was im- do with new features in the product. After notating eight pressed with the appearance of my transcription of Lá- original piano compositions, I realized that my previous grima and wondered if I would share the source for it difficulties had to do with the idiosyncratic requirements and my other transcriptions. of guitar music that were not well-supported by the soft- ware. Nevertheless, note entry and the overall user inter- I sent the inquirer a lengthy response explaining that I'd face of Finale were tedious. I appreciated how accurate like to share the source for my transcriptions, but that it the MIDI playback could be with respect to dynamics, wouldn't be readily usable by anyone given the rather tempo changes, articulations, and so on. But I had little involved set of support files and programs I've built to need for MIDI output.
    [Show full text]
  • David O. Neville, Phd, MS Rev
    David O. Neville, PhD, MS Rev. 05 March 2021 The Center for Teaching, Learning, and Assessment Email: [email protected] 1119 6th Avenue Website: https://doktorfrag.com Grinnell College Twitter: https://twitter.com/doktorfrag Grinnell, IA 50112 Education MS Utah State University (Logan, Utah, USA, 2007) Instructional Technology and Learning Sciences Concentration in Computer Science; Business Information Systems PhD Washington University in St. Louis (Missouri, USA, 2002) German Language and Literature Concentration in Latin Language and Literature; Medieval Studies Ludwig-Maximilians-Universität (Munich, Germany, 1999-2000) DAAD Annual Scholarship (Jahresstipendium) AM Washington University in St. Louis (Missouri, USA, 1997) German Language and Literature BA, Brigham Young University (Provo, Utah, USA, 1994) Honors German Language and Literature Minor in Russian Language and Literature Employment Grinnell College 2015- Digital Liberal Arts Specialist Present The Digital Liberal Arts Collaborative Elon University 2014-15 Associate Professor of German Department of World Languages and Cultures 2008-14 Assistant Professor of German and Director of Language Learning Technologies Department of World Languages and Cultures Utah State 2006-08 Instructional Designer and Blackboard Administrator University Faculty Assistance Center for Teaching (FACT) 2004-06 Visiting Assistant Professor Department of Languages, Philosophy, and Speech Communication Washington 2002-03 Lecturer and Instructional Technology Specialist University Department of Germanic Languages and Literatures in St. Louis Curriculum Vitæ: David O. Neville, PhD, MS Pg. 1 Fellowships and Awards 2017 Top Three Print Poster in the 2017 Humanities, Arts, Science and Technology Alliance and Collaboratory (HASTAC) Conference Poster Competition: “Visualizing Difficult Historical Realities: The Uncle Sam Plantation Project.” With Sarah Purcell (Co-Presenter).
    [Show full text]
  • Autotools Tutorial
    Autotools Tutorial Mengke HU ECE Department Drexel University ASPITRG Group Meeting Outline 1 Introduction 2 GNU Coding standards 3 Autoconf 4 Automake 5 Libtools 6 Demonstration The Basics of Autotools 1 The purpose of autotools I It serves the needs of your users (checking platform and libraries; compiling and installing ). I It makes your project incredibly portablefor dierent system platforms. 2 Why should we use autotools: I A lot of free softwares target Linux operating system. I Autotools allow your project to build successfully on future versions or distributions with virtually no changes to the build scripts. The Basics of Autotools 1 The purpose of autotools I It serves the needs of your users (checking platform and libraries; compiling and installing ). I It makes your project incredibly portablefor dierent system platforms. 2 Why should we use autotools: I A lot of free softwares target Linux operating system. I Autotools allow your project to build successfully on future versions or distributions with virtually no changes to the build scripts. The Basics of Autotools 1 3 GNU packages for GNU build system I Autoconf Generate a conguration script for a project I Automake Simplify the process of creating consistent and functional makeles I Libtool Provides an abstraction for the portable creation of shared libraries 2 Basic steps (commends) to build and install software I tar -zxvf package_name-version.tar.gz I cd package_name-version I ./congure I make I sudo make install The Basics of Autotools 1 3 GNU packages for GNU build
    [Show full text]