uncooked_spaghetti {CKMRpop} | R Documentation |
Summarise kin-pair information and use it to create uncooked spaghetti plots
Description
This gives a nice graphical summary of all the kin pairs along with when they were sampled and their age at the time of sampling and their sex. #' In order to visually summarize all the kin pairs that were found, with specific reference to their age, time of sampling, and sex, I find it helpful to use what I have named the "Uncooked Spaghetti Plot". There are multiple subpanels on this plot. Here is how to read/view these plots:
Each row of subpanels is for a different dominant relationship, going from closer relationships near the top and more distant ones further down. You can find the abbreviation for the dominant relationship at the right edge of the panels.
In each row, there are four subpanels:
F->F
,F->M
,M->F
, andM->M
. These refer to the different possible combinations of sexes of the individuals in the pair.For the non-symmetrical relationships these are naturally defined with the first letter (
F
for female orM
for male) denoting the sex of the "upper_member" of the relationship. That is, if it is PO, then the sex of the parent is the first letter. The sex of the non-upper-member is the second letter. Thus aPO
pair that consists of a father and a daughter would appear in a plot that is in thePO
row in theM->F
column.For the symmetrical relationships, there isn't a comparably natural way of ordering the individuals' sexes for presentation. For these relationships, the first letter refers to the sex of the individual that was sampled in the earliest year. If both individuals were sampled in the same year, and they are of different sexes, then the female is considered the first one, so those all go on the
F->M
subpanel.
On the subpanels, each straight line (i.e., each piece of uncooked spaghetti) represents a single kin pair. The two endpoints represent the year/time of sampling (on the x-axis) and the age of the individual when it was sampled (on the y-axis) of the two members of the pair.
If the relationship is non-symmetrical, then the line is drawn as an arrow pointing from the upper member to the lower member.
The color of the line gives the number of shared ancestors (
max_hit
) at the level of the dominant relationship. This is how you can distinguish full-sibs from half-sibs, etc.
Usage
uncooked_spaghetti(Pairs, Samples, jitter_age = 0.2, jitter_year = 0.2)
Arguments
Pairs |
The tibble of kin pairs that comes out of |
Samples |
The tibble of samples that comes out of |
jitter_age |
half the width of the uniform jitter window around age |
jitter_year |
half the width of the uniform jitter window around sampling year |
Value
uncooked_spaghetti()
returns a list with two components: input_data
and plot
.
plot
is a ggplot object of the plot described above in "Description." input_data
is,
itself, another list with the following named components:
-
P5
: A tibble that is a processed version of thePairs
input. This is what goes into making the ggplot. -
age_grid
: A tibble giving the coordinates for placing the alternating pink and white horizontal background rectangles on the plot. -
year_grid
: A tibble giving the coordinates for placing the alternating pink and white vertical background rectangles on the plot.
Examples
# get the input variables
# only take the first 50 samples to reduce time for example
Samples <- species_1_slurped_results$samples[1:50, ]
Pairs <- compile_related_pairs(Samples)
result <- uncooked_spaghetti(Pairs, Samples)
# produce the plot with:
# result$plot