-
Notifications
You must be signed in to change notification settings - Fork 2
Description
I have the feeling that there is a bit of loose semantic in the description of the package. It's important to make sure that the terms used are correct and precise. As an example, the file distribution.R and the class Distribution seem to gather things that are not all distributions and that are actually quite different things. It's worth thinking carefully about what we are dealing with here and about a clear hierarchical typology of these various things. My understanding is that we are basically dealing with transitions between compartments and there are various ways to define these transitions. First, they can be defined by specifying a distribution of waiting time or not. If not, then they can either be defined by a fixed number or a fixed proportion of individuals transitioning from one compartment to the other. In the case the transition is defined by specifying a distribution of waiting time, then this distribution can be parametric or not. If parametric, then it could be either a lognormal, a Weibull or a gamma distribution. This later has a 1-parameter specific case that is called an exponential distribution. Such a hierarchical typology could be summarized by this diagramme:

All this means that when you come to think of classes, you may want to think about them in the same hierarchical manner as on the diagramme where daughter classes would inherit the methods of the parent class. Because what is annoying at the moment is that you are defining one single class named Distribution and this class gather things are very diverse, many of these things not even being distributions! And I think you did realize that at some point because, in terms of slots, you don't always a much consistency.