Statwire: Visual Flow-Based Statistical Programming

Total Page:16

File Type:pdf, Size:1020Kb

Statwire: Visual Flow-Based Statistical Programming CHI 2018 Late-Breaking Abstract CHI 2018, April 21–26, 2018, Montréal, QC, Canada StatWire: Visual Flow-based Statistical Programming Krishna Subramanian Chat Wacharamanotham Abstract RWTH Aachen University University of Zürich Statistical analysis is a frequent task in several research 52056 Aachen, Germany 8050 Zürich, Switzerland fields such as HCI, Psychology, and Medicine. Performing [email protected] chat@ifi.uzh.ch statistical analysis using traditional textual programming languages like R is considered to have several advantages over GUI applications like SPSS. However, our examina- Johannes Maas Simon Voelker tion of 40 analysis scripts written using current IDEs for R RWTH Aachen University RWTH Aachen University shows that such scripts are hard to understand and main- 52056 Aachen, Germany 52056 Aachen, Germany tain, limiting their replication. We present StatWire, an IDE johannes.maas1@rwth- [email protected] aachen.de for R that closely integrates the traditional text-based edi- tor with a visual data flow editor to better support statistical programming. A preliminary evaluation with four R users Michael Ellers Jan Borchers indicates that this hybrid approach could result in statistical RWTH Aachen University RWTH Aachen University programming that is more understandable and efficient. 52056 Aachen, Germany 52056 Aachen, Germany [email protected] [email protected] Author Keywords Statistical Analysis IDE; Hybrid Programming; Visual Pro- gramming. ACM Classification Keywords Permission to make digital or hard copies of part or all of this work for personal or H.5.2 [User Interfaces]: Graphical user interfaces (GUI); classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation G.3. [Probability and Statistics]: Statistical software. on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author. Introduction CHI’18 Extended Abstracts, April 21–26, 2018, Montreal, QC, Canada. © 2018 Copyright is held by the owner/author(s). Statistical analysis is an important task in several research ACM ISBN 978-1-4503-5621-3/18/04. fields. While analysis can be performed using text-based https://doi.org/10.1145/3170427.3188528 programming (e.g., R, Python) or GUIs (e.g., SPSS, JMP), LBW104, Page 1 CHI 2018 Late-Breaking Abstract CHI 2018, April 21–26, 2018, Montréal, QC, Canada the statistical community considers text-based programming at top-tier conferences such as CHI ’13 and ISWC ’16, were to be a “much more productive, accurate, and reproducible collected from two sources: 32 scripts from 23 projects way of performing (analysis) tasks” than GUIs [17]. on the Open Science Framework (OSF) platform2, and 8 scripts from 3 researchers at our university in Aachen. We However, our analysis shows that scripts written using cur- randomly selected no more than 3 scripts from the same rent IDEs for R, the most commonly used text-based statis- project or researcher to avoid biasing our analysis to a par- Load data Log tics programming language [13], are hard to understand transform ticular analyst. We analyzed a total of 20,303 source lines and maintain. We speculate that current IDEs for R do not of code (SLOC), with an average of 508 SLOC per file, and support the data-driven, iterative, and non-sequential nature found two major issues: of statistical analysis [10, 16], and we explore integrating the text-based environment in current IDEs with a visual 1. Excessive Code Cloning data flow environment as a possible solution. As a realiza- Code cloning is a common programming practice in which log tion of this concept, we present StatWire, an IDE for R that the user copies, pastes, modifies, and executes code [8, Module 1 Module 1 tightly integrates the two environments. 15]. Excessive code cloning can make analysis scripts diffi- cult to maintain, understand and modify [9, 11, 12], limiting Motivation reproduction and reuse of the code for other analyses. Current IDEs for R R [6] is the most commonly used statistical programming We followed a standard procedure [15] to identify instances of code cloning. First, we preprocessed the analysis scripts log language in academia and research. Prominent IDEs for R 1 (remove blank lines, comments, etc.) to identify Lines of Module 2 Module 2 include RStudio , the official R GUI, and Microsoft’s Visual Studio Plugin for R. Such IDEs provide an interactive con- Interest (LOI). Then, we used fingerprints as both the inter- mediate representation of the code and the match detection Module 1: compute descriptive sole for line-by-line execution of code snippets and script statistics (mean, sd), and plot files for storing analysis code, which can then be executed technique to compute instances of code cloning. We identi- histograms. in a sequential manner via the interactive console. fied that out of 4098 LOI from all scripts, 2861 LOI, or 70%, were parametric clones [15]. Module 2: fit a model, get However, the workflow of statistical analysis is iterative residuals, and perform 2. Prevalence of Non-Modular Code Using modules is Shapiro-Wilk’s test on the and non-sequential [16, 10], as shown in Fig. 1. This could residuals. therefore be in conflict with the workflow supported by cur- generally considered to lead to more productive program- rent IDEs for R that use a sequential representation to store ming [5]. Non-modular code is inefficient and does not Figure 1: An example workflow of and execute the analysis. match the nature of statistical analysis, since a typical anal- statistical analysis. Analysis is ysis involves iterative execution of a module with modified iterative and non-sequential with Evaluation of R Analysis Scripts input, as shown in Fig. 1. This issue is further aggravated in ‘modules’ acting upon modified To investigate potential consequences of this mismatch, we long analyses in which a module is reused several times. data with each iteration. examined analysis scripts written in R by researchers. 40 R analysis scripts, used in HCI and Psychology publications In our analysis, we classified code snippets into the three 1http://www.rstudio.com 2http://osf.io LBW104, Page 2 CHI 2018 Late-Breaking Abstract CHI 2018, April 21–26, 2018, Montréal, QC, Canada Histogram of speed H A Count I E1 E2 speed F G B C D Figure 2: User interface of StatWire, a novel IDE for performing statistical analysis using the R programming language. StatWire tightly integrates a visual data flow editor (A) with a text-based editor (B) to better support code authoring. major steps of statistical analysis: preprocessing, exploratory a text entry study using StatWire. She is presented two analysis, and confirmatory analysis [16]. We then iden- views: a visual data flow editor (Fig. 2 A) and a textual pro- tified how many of these steps were part of each script. gramming environment (B). Each node in the visual editor We found that 97.5% of all scripts contained two or more can be either a statlet, which is a processing step (F), or steps, and 60% contained all three steps. This issue was a viewlet, which shows plots (E1) or data (E2). The edges also prevalent in long analysis scripts. (H) represent the flow of data across the nodes. The visual editor is initially empty, and Hazel creates a statlet by right- StatWire clicking on the empty canvas. When a statlet is created, Since existing IDEs for R result in issues with code repro- the text editor (C) is shown with a default function template, duction and comprehension, we wanted to explore the tight encouraging her to think in a modular fashion and to write integration of a visual data-flow editor with the traditional functions. During code authoring, Hazel uses the output text editor as a possible solution. The following walkthrough shown next to the code (D) for debugging. She authors explains the interaction design of our current prototype: statlets to read in the CSV file and then subsets the data according to different levels of an independent variable. Hazel is an HCI researcher who wants to analyze data from LBW104, Page 3 CHI 2018 Late-Breaking Abstract CHI 2018, April 21–26, 2018, Montréal, QC, Canada When she adds an input or output argument to the function Existing visual programming environments such as ViSta header, the corresponding node in the visual data flow ed- for statistical analysis [19] and Orange for machine learning itor is updated automatically (G). This lets Hazel focus on [4] do not expose the underlying source code of their mod- the flow of data (i.e., overview) in the visual editor, and on ules. Blender, a 3D modeling software, allows the user to the processing code (i.e., details) in the text editor. view and edit the underlying source code of modules, but they have to initially be authored in a different environment When Hazel wants to view the descriptive statistics of the and then imported. RapidMiner and KNIME are visual pro- QWERTY distribution using another statlet, she ‘wires’ its gramming environments that allow authoring code using a output to the ‘View descriptive stats’ statlet. She runs the text editor, but treat the visual editor as a passive element statlet to view the histogram (in a viewlet, Fig. 2 E1) and (i.e., the visual environment does not reflect changes in the descriptive statistics (Fig. 2 F). To repeat this for the other textual code), resulting in a lack of integration between the two distributions, Hazel simply ‘rewires’ the input of the stat- two environments. The Gestalt system provides textual and let, leading to an efficient analysis workflow.
Recommended publications
  • 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]
  • 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]
  • 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]
  • 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]
  • B.Tech(2018 Onwards)
    HERITAGE INSTITUTE OF TECHNOLOGY (An Autonomous Institute Under MAKAUT) DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING B.Tech Course Structure June 2021 Dept. of CSE, HIT-K B. Tech in CSE, Course Structure Revised: June 2021 PART I: COURSE STRUCTURE Page 1 of 129 Dept. of CSE, HIT-K B. Tech in CSE, Course Structure Revised: June 2021 FIRST YEAR FIRST SEMESTER Contacts Sl. Code Subject Credit Periods/ Week Points L T P Total A. Theory 1 CHEM1001 Chemistry-I 3 1 0 4 4 2 MATH1101 Mathematics-I 3 1 0 4 4 3 ELEC1001 Basic Electrical Engineering 3 1 0 4 4 Total Theory 9 3 0 12 12 B. Practical 1 CHEM1051 Chemistry I Lab 0 0 3 3 1.5 2 ELEC1051 Basic Electrical Engineering Lab 0 0 2 2 1 3 MECH1052 Engineering Graphics & Design 1 0 4 5 3 Total Practical 1 0 9 10 5.5 Total of Semester without Honors 10 3 9 22 17.5 C. Honors 1 HMTS1011 Communication for Professionals 3 0 0 3 3 2. HMTS1061 Professional Communication Lab 0 0 2 2 1 Total Honors 3 0 2 5 4 Total of Semester with Honors 13 3 11 27 21.5 Page 2 of 129 Dept. of CSE, HIT-K B. Tech in CSE, Course Structure Revised: June 2021 FIRST YEAR SECOND SEMESTER Contacts Sl. Code Subject Credit Periods/ Week Points L T P Total A. Theory 1 PHYS1001 Physics I 3 1 0 4 4 2 MATH1201 Mathematics II 3 1 0 4 4 3 CSEN1001 Programming for Problem Solving 3 0 0 3 3 4 HMTS1202 Business English 2 0 0 2 2 Total Theory 11 2 0 13 13 B.
    [Show full text]
  • R Markdown Cheat Sheet I
    1. Workflow R Markdown is a format for writing reproducible, dynamic reports with R. Use it to embed R code and results into slideshows, pdfs, html documents, Word files and more. To make a report: R Markdown Cheat Sheet i. Open - Open a file that ii. Write - Write content with the iii. Embed - Embed R code that iv. Render - Replace R code with its output and transform learn more at rmarkdown.rstudio.com uses the .Rmd extension. easy to use R Markdown syntax creates output to include in the report the report into a slideshow, pdf, html or ms Word file. rmarkdown 0.2.50 Updated: 8/14 A report. A report. A report. A report. A plot: A plot: A plot: A plot: Microsoft .Rmd Word ```{r} ```{r} ```{r} = = hist(co2) hist(co2) hist(co2) ``` ``` Reveal.js ``` ioslides, Beamer 2. Open File Start by saving a text file with the extension .Rmd, or open 3. Markdown Next, write your report in plain text. Use markdown syntax to an RStudio Rmd template describe how to format text in the final report. syntax becomes • In the menu bar, click Plain text File ▶ New File ▶ R Markdown… End a line with two spaces to start a new paragraph. *italics* and _italics_ • A window will open. Select the class of output **bold** and __bold__ you would like to make with your .Rmd file superscript^2^ ~~strikethrough~~ • Select the specific type of output to make [link](www.rstudio.com) with the radio buttons (you can change this later) # Header 1 • Click OK ## Header 2 ### Header 3 #### Header 4 ##### Header 5 ###### Header 6 4.
    [Show full text]
  • Anika Anzum Prima Email : [email protected] Linkedin: Mobile : +1-406-580-9126
    Anika Anzum Prima Email : [email protected] Linkedin: https://www.linkedin.com/in/anika-anzum-prima-70198ab3/ Mobile : +1-406-580-9126 Education Montana State University Bozeman, MT • Master's in Computer Science; CGPA: 3.77/4.00 Fall 2017 { Fall 2019 Research Topic: ◦ Analysis of US census data and network measurement data to figure out whether everybody is accessing same quality of Internet at same price. Evaluating the fairness and variation of network performance metrics among all the counties of US using different data analysis techniques. ◦ Google Speech Recognition for figuring out which Google servers are converting voice into text and developing an architecture for a distributed voice recognition server to speed up the conversion and to ensure faster performance. Completed Coursework: Advanced Computational Biology, Research and Methodology in Engineering, Data Mining, Distributed System, Algorithm, Advanced Algorithm Topics, Networks, Computability, Advanced Networks University of Dhaka Dhaka, Bangladesh • Bachelor of Computer Science and Engineering; CGPA: 3.68/4.00 January 2012 { June. 2016 Thesis Topic: Internet Data Budget Allocation Policies for Diverse Smartphone Applications Experience Montana State University Bozeman, MT • Digital Technologies Developer (Non Tenure-Track Faculty) May 2019 - Present Responsibilities: Working as an active member of a service-oriented team that advances digital library initiatives via software development and data analysis. Assisting with development and maintenance of a diverse portfolio
    [Show full text]
  • Feature Selection and Improving Classification
    FEATURE SELECTION AND IMPROVING CLASSIFICATION PERFORMANCE FOR MALWARE DETECTION AThesis Presented to Department of Computer Science By Carlos Andres Cepeda Mora In Partial Fulfillment of Requirements for the Degree Master of Science, Computer Science KENNESAW STATE UNIVERSITY May, 2017 II FEATURE SELECTION AND IMPROVING CLASSIFICATION PERFORMANCE FOR MALWARE DETECTION Approved: _______________________________ Dr. Dan Chia-Tien Lo - Advisor _______________________________ Dr. Dan Chia-Tien Lo– Department Chair _______________________________ Dr. Jon Preston - Dean III In presenting this thesis as a partial fulfillment of the requirements for an advanced degree from Kennesaw State University, I agree that the university library shall make it available for inspection and circulation in accordance with its regulations governing materials of this type. I agree that permission to copy from, or to publish, this thesis may be granted by the professor under whose direction it was written, or, in his absence, by the dean of the appropriate school when such copying or publication is solely for scholarly purposes and does not involve potential financial gain. It is understood that any copying from or publication of, this thesis which involves potential financial gain will not be allowed without written permission. __________________________ Carlos Andres Cepeda Mora IV Unpublished thesis deposited in the Library of Kennesaw State University must be used only in accordance with the stipulations prescribed by the author in the preceding statement. The author of this thesis is: CARLOS ANDRES CEPEDA MORA 1876 HEDGE BROOKE WAY NW, ACWORTH – GA. 30101 The director of this thesis is: DAN CHIA-TIEN LO Users of this thesis not regularly enrolled as students at Kennesaw State University are required to attest acceptance of the preceding stipulations by signing below.
    [Show full text]
  • Open and Reproducible Research: Tools 3
    Open and Reproducible Research: Tools 3 January, 2015 Topics • Git • Github • Reproducible research check list What is git? • the stupid content tracker • a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. • “I’m an egotistical bastard, and I name all my projects after myself. First ‘Linux’, now ‘git’ ” — Linus Torvalds according to “Why the ‘Git’ name?” item in GitFaq. Accessed at https://git.wiki.kernel.org/index.php/GitFaq on Jan, 2015. Tracking changes of working file(s) over time 1 • versioning 1 • egsr03.dat: Egyptian WFS Standard Record Ver 3 Tracking changes over time 2 • timestamping • 504_ideas_2014-05-19T19_04_52Z_public_cleaned.csv 2 Tracking changes over time 3 • snapshot: state of a system (here a file) at a particular point in time • keep only the latest (current) files in the working directory • 20141201 directory has the analysis.Rmd (and any other files) as was on Dec., 1, 2014 • 20141223 directory has the anaysis.Rmd (ditto) as was on Dec., 23, 2014 More elaborate snapshots strategy • put all the snapshots under a subdirectory (repo?) • snapshot names don’t have to be date • “branches” idea 3 Git as snapshot management system • each snapshot is called a ‘commit’ • Git stores file contents as well as meta-data (file names, who made the snapshot (commit), when, how this snapshot is related to other snapshot, ...) 4 • Git stores everything under the (hidden) .git directory • everything in Git is check-summed before it
    [Show full text]
  • Anaconda, Spider and Rstudio Installation for Windows
    Anaconda & Spider Installation for windows: 1. Please click on the link below https://www.anaconda.com/download/#windows 2. Click on Download, and then you have to check for compatibility of your Pc, after that it will start downloading. 3. Double click the installer to launch. 4. Click Next. 5. Read the licensing terms and click “I Agree”. 6. Select an install for “Just Me” unless you’re installing for all users (which require Windows Administrator privileges) and click Next. 7. Select a destination folder to install Anaconda and click the Next button. 8. Choose whether to add Anaconda to your PATH environment variable. We recommend not adding Anaconda to the PATH environment variable, since this can interfere with other software. Instead, use Anaconda software by opening Anaconda Navigator or the Anaconda Prompt from the Start Menu NOTE: Choose whether to register Anaconda as your default Python. Unless you plan on installing and running multiple versions of Anaconda or multiple versions of Python, accept the default and leave this box checked. 9. Click the Install button. If you want to watch the packages Anaconda is installing, click Show Details 10. Click the Next button. 11. And then click the Finish button. 12. After a successful installation you will see the “Thanks for installing Anaconda” dialog box: Spyder: Spyder, the Scientific Python Development Environment, which is a free integrated development environment (IDE) that is included with Anaconda. It includes: • Editing, • Interactive testing, • Debugging, • Introspection features. Steps for Spyder setup and run a test code: 1. In Window search box, type Spyder and press Enter.
    [Show full text]
  • Tips for Working Reproducibly
    Tips for Working Reproducibly Thomas J. Leeper Senior Visiting Fellow in Methodology London School of Economics and Political Science 9 May 2019 Tools We’ll See Today R, RStudio https://cran.r-project.org/ https://www.rstudio.com/ make (and other command line tools) https: //cran.r-project.org/bin/windows/Rtools/ git git (https://git-scm.com/) github (https://github.com/) gitkraken (https://www.gitkraken.com/) Collaboration software overleaf (https://www.overleaf.com/) dropbox (https://www.dropbox.com/) google drive (https://drive.google.com/) Introductions Me: Thomas Political Scientist, Methodology Department Experimental and computational methods R You: Name Field/Department Methods Tools/Software Learning Objectives 1 Define reproducibility and replicability 2 Understand how to organize a reproducible research project 3 Recognize different approaches to reproducibility and tools for implementing various reproducible workflows 4 Understand how to collaborate reproducibly Some Semantics Reproduction: recreating output from a shared input Replication: creating new output from new input https://thomasleeper.com/2015/05/ open-science-language/ Beyond Scope for Today Verification Data Transparency Replication Non-computational reproducibility Software and hardware versioning Deterministic computing Interpretations Jefferson’s instructions: The object of your mission is to explore the Missouri river, & such principal stream of it, as, by its course & communication with the water of the Pacific ocean may offer the most direct & practicable water
    [Show full text]