A Data Science Pattern Language
Welcome
A Data Science Pattern Language: Designing Projects with R is a book that will teach you a set of flexible, reusable solutions to common data science problems. 1
We think of each data science project as a patchwork quilt: each project is a unique combination of patterns, but there are common patterns that resurface for every data scientist over and over again across projects. These patterns can even recur in the lifecycle of a single project. However, when you work with data everyday (and maybe also learning how to code as you work), it can be hard to see the common patterns, discover new patterns that you need to learn, and know the “good enough” practices for handling specific patterns that you encounter.
“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in a way that you can use this solution a million times over, without ever doing it the same way twice.”
— Christopher Alexander
In this book, you will learn about common data science patterns. These are patterns that we have seen repeat in our own careers, across many different types of projects and datasets. In the past, Rich and Alison have needed to call on our memory, our colleagues, help forums, and sometimes our own past code (thank you version control!) to help us re-approach the same problem. Over the years, we have developed a healthy bank of pernicious patterns, and we have developed our own opinionated good practices for handling them. You will find these patterns and practices organized by chapter in the central part of the book; we’ve broken each of these chapters down into our own specialized chapter pattern. This pattern is meant to help you see the forest for the trees, even if you feel deep in the weeds grappling with a data science or a coding problem.
We sincerely hope that you find the book gives you the skills to become productive with data using R (and with a minimum of frustration). We always appreciate feedback and so you’re encouraged to post any questions, comments, or suggestions you have about the book in either the Issues or Discussions section of the dspatterns/dspatterns-book
repo. Your feedback is taken quite seriously and will be incredibly valuable throughout the development of this book (and beyond).
https://maggieappleton.com/pattern-languages↩︎