/* * @progname stats.ll * @version 10.0 * @author Jim Eggert * @category * @output Text * @description Compute statistics on dates, ages, counts in the DB. This LifeLines report program computes mean statistics of various quantities binned over other quantities. The quantities it knows about are ages at and dates of birth, christening, first and last marriage, first and last child's birth, death, burial, and today; the number of children, siblings, and marriages; and sex, surname, first name, soundex, and any simple GEDCOM tag. These can be combined nearly arbitrarily and evaluated over the whole database, or restricted to ancestors or descendants of a chosen individual or to members of a predetermined set. Further restrictions on the individuals included in the statistics can be based on any quantity that the program knows about. The program will optionally print out the names of all the individuals included in the statistics. For example, you can produce statistics of the age at death of as a function of birth year, dage vs byear the number of children of females named Smith as a function of year of first marriage, kids vs myear | sex = F & surname = Smith the number of spouses for male vs female blacksmiths, families vs sex | occu = blacksmith the age at last childbirth as a function of place of marriage. qage vs mplace the names of all Joneses who lived to be greater than 80 unity vs unity | surname = Jones & dage > 80 All this without writing any programs of your own. If a particular statistic for an individual is unavailable, and if the global variable not_strict is nonzero (as it is in the distribution version of this report, then certain guesses are allowed as to the value of that statistic. So far, these guesses are few. Birth year and month are guessed from baptismal date, and death year and month are guessed from burial date. The user is prompted for what quantity to plot vs what to bin over. Each is to be given as a specification string of the form e