Principles for modelling packages
1
Intro
2
Conceptual overview of modelling
3
Getting started on a modelling package
4
Model objects
5
Data Specification
5.1
Formulas
5.1.1
Testing formulas
6
Functional programming principles
7
Data
8
Documentation
9
Testing
10
Workflow
10.1
Prediction
10.2
Inference
11
Interface
12
Low and high level interfaces
13
Interactive modelling
14
Programmatic modelling
15
Vocabulary
15.1
model frame stuff
15.2
na.action stuff
15.3
quoting operators
16
Naming things
16.1
How to name function arguments
16.2
How to name model components
17
Danger Zone
17.1
Warnings / places to use care
17.2
Anti-patterns
17.2.1
Using the default method of a generic
17.2.2
the documentation that isn’t documentation and doesn’t feature an actual use case
17.2.3
Never use missing arguments
17.2.4
special casing everything through one workhorse function instead of using S3 methods
17.3
Things to be aware of
18
References
Principles for modelling packages
Chapter 3
Getting started on a modelling package
General dos:
Export the
predict()
method
Document the
predict()
method
Use
match.arg()
for categorical arguments
Validate the arguments to all your functions, especially our data
General dont’s