BAN421 Data Structures in R
Spring 2020Autumn 2020
-Understanding data structures is the key to empowering users of R, both in understanding what is going on, in reading the scripts of others, in customising results, and in writing scripts. Data structures have developed in R over time, so that both older and newer forms are found together in most workflows. Working from the ground upwards, we will see how they may be understood, and how this understanding gives insight into the language and its use.
Knowledge: on successful completion, the student will be able to
- understand basic data structures used in R programming
- understand the role of data frames as a fundamental data container in R, and how other structures are needed for graphs
- understand the representation of time and character encoding used in R
- understand the development of class definition systems in R, including method dispatch
- understand the motivations underlying the choices made among data structures in R programming
- use this understanding in customising output of functions
Skills: on successful completion, the student will be able to
- assign correct descriptions to data structures used in scripts and functions encountered in simple workflows
- define new composite data structures for workflow output, and appropriate standard methods
General competence: on successful completion, the student will be able to
- handle the output of R functions with greater confidence
- customise the output of R functions to meet specific needs
This course combines lectures and programming tutorials. Lectures focus on methodological issues. In programming tutorials, the student will implement the learned methodologies using R.
Programming skills with R are helpful.
Credit reduction due to overlap
Course identical to BUS463.
Requirements for course approval
A group project, with a presentation during the course (conditional on participant numbers).
Course approval from BUS463 is valid for BAN421.
Group term paper (in English only), based on the group project (conditional on participant numbers).
Group term paper is due in wiseflow 2-3 weeks after course completion.
This course is a continuation of BUS463 and the total number of attempts applies to the course (not the course code).
R (https://cran.r-project.org/) and RStudio (https://www.rstudio.com/) and contributed packages packages as needed.
- Gillespie C. & Lovelace, R. (2017) Efficient R Programming. Sebastopol, CA: O'Reilly.
- Chambers, J. M. (1998) Programming with Data: A Guide to the S Language. New York: Springer. (chapter 1)
- Chambers, J. M. (2008) Software for Data Analysis: Programming with R. New York: Springer. (chapters 1, 3, 5, 6)
- Chambers, J. M. (2016) Extending R. Boca Raton, FL: CRC Press. (chapters 1-6, 9)
- Grolemund, G. (2014) Hands-On Programming with R. Sebastopol, CA: O'Reilly. (chapters 1, 2, 8)
- Wickham, H. (2015) Advanced R. Boca Raton, FL: CRC Press. (chapters 1, 2, 7)
- Wickham, H. & Grolemund, G. (2017) R for Data Science. Boca Raton, FL: CRC Press. (3, 7, 9, 10, 16)
- ECTS Credits
- Teaching language
Autumn. Last week of autumn semester. Offered autumn 2019.
Professor Roger Bivand, Department of Economics