If those values are not provided directly as a table by user:
TLF-Lib should provide a helper function, which generates this table based on (individual) values.
The function could look like the following:
aggregatedValues = generateAggregatedValues(individualValues, TC, GCs, VCs, Aggregations)
with:
TC: name of the time column
GCs: names of the Grouping Columns (0 or more)
VCs: names of Value Columns (= values which must be aggregated; at least one)
Aggregations: aggregations to be used (Min, Max, Median, Percentiles_XY, ...)
Example:
individualValues looks like following:
Time
IndividualID
Population
Gender
Organ
Compartment
Simulated
Observed
Error
0
1
Asian
M
Venous Blood
Plasma
2
1
1
Asian
F
Venous Blood
Plasma
3
2
0,1
2
1
Asian
M
Venous Blood
Plasma
12
10
0,2
0
2
Asian
F
Venous Blood
Plasma
9
1
2
Asian
M
Venous Blood
Plasma
3,1
2
2
Asian
M
Venous Blood
Plasma
3,3
0
1
Asian
M
Brain
Plasma
2
1
1
Asian
F
Brain
Plasma
3
2
1
Asian
M
Brain
Plasma
12
0
2
Asian
F
Brain
Plasma
9
1
2
Asian
M
Brain
Plasma
3,1
3
0,1
2
2
Asian
M
Brain
Plasma
3,3
4
0,2
Inputs:
TC: "Time"
GCs: "Organ", "Compartment"
VCs: "Simulated"
Aggregations: "Min", "Max"
Then generateAggregatedValues(individualValues, TC, GCs, VCs, Aggregations) would produce the input below:
Time
Organ
Compartment
Simulated Min
Simulated Max
0
Venous Blood
Plasma
2
0
1
Venous Blood
Plasma
3
3,1
2
Venous Blood
Plasma
3,3
12
0
Brain
Plasma
2
0
1
Brain
Plasma
3
3,1
2
Brain
Plasma
3,3
12
Possible value for Aggregations:
Arithmetic Mean
Arithmetic standard deviation (should generate 2 columns: Mean+SD, Mean-SD)
Geometric Mean
Geometric standard deviation (should generate 2 columns: Mean/SD, Mean*SD)
For time profile plots it's often required to plot aggregated values (Min,Max, Median, Percentile XY, ...) (s. https://github.com/Open-Systems-Pharmacology/TLF-Library/issues/23)
If those values are not provided directly as a table by user: TLF-Lib should provide a helper function, which generates this table based on (individual) values.
The function could look like the following:
aggregatedValues = generateAggregatedValues(individualValues, TC, GCs, VCs, Aggregations)
with:TC
: name of the time columnGCs
: names of the Grouping Columns (0 or more)VCs
: names of Value Columns (= values which must be aggregated; at least one)Aggregations
: aggregations to be used (Min, Max, Median, Percentiles_XY, ...)Example:
individualValues
looks like following:Inputs:
TC
: "Time"GCs
: "Organ", "Compartment"VCs
: "Simulated"Aggregations
: "Min", "Max"Then
generateAggregatedValues(individualValues, TC, GCs, VCs, Aggregations)
would produce the input below:Possible value for
Aggregations
: