Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added groupingDataset (GitHub #187) and order for operation (GitHub#200), renamed label to name for grouping factors and groups (GitHub #217)

This example shows the definition and results for a single analysis, "Summary of Subjects by Treatment and Sex", including the definitions of the grouping factors and method referenced by the analysis.   This example illustrates the use of the the groupingId and groupId attributes of the ResultGroup class to associate results with groups in results-by-group grouping factors with predefined groups.

Xfancy
classrowcaps
Lines 1-3133:

Show the definitions of the 2 subject grouping factors referenced by the analysis, both of which are not data-driven (dataDriven = false, shown on lines 3 6 and 1724):

  • Lines 2-1819: Show the definition of the "Treatment" grouping factor, which has 3 groups: "Placebo", "Xanomeline Low Dose", and "Xanomeline High Dose".
  • Lines 1920-3133: Show the definition of the "Sex" grouping factor, which has 2 groups: "Male" and "Female".
Lines 3234-4448:

Show the definition of the method referenced by the analysis, "Summary by group of a categorical variable", which has 2 operations:

  • Lines 3638-3942: Show the definition of the "Count of subjects" operation.
  • Lines 4043-4447: Show the definition of the "Percent of subjects" operation.
Lines 4649-5862:

Show the definition of the analysis:

  • Lines 4953-5054: Show that this is an analysis of the USUBJID variable in the ADSL dataset.
  • Line 5155: Shows the reference to the "Summary by group of a categorical variable" method.
  • Lines 5256-5862: Show the references to the 2 grouping factors, both of which are marked as producing a result for each group in the grouping factor (resultsByGroup = true, shown on lines 54 58 and 5761).
Lines 5963-155161

Show the list of results for the analysis. Each entry in the list (starting with the operationId attribute preceded by a hyphen) represents an instance of the OperationResult class and contains:

  • The identifier value of the statistical operation performed, which is in the the operationId attribute.
  • In the resultGroups attribute, a reference to both grouping factor groups associated with the result (indicated by the values of the groupingId and groupId attributes)
  • The raw result value in the rawValue attribute, and
  • In the formattedValue attribute, the result value formatted according to the pattern specified in the resultPattern attribute of the operation referenced by the operationId value. The specified patterns are shown on rows 39 42 and 4347.
Code Block
titleYAML Example
linenumberstrue
analysisGroupings:
- id: AnlsGrouping_01_Trt
  dataDrivenname: falseTreatment
  labelgroupingDataset: TreatmentADSL
  groupingVariable: TRT01A
  dataDriven: false
  groups:
  - id: AnlsGrouping_01_Trt_1
    labelname: Placebo
    order: 1
    ...
  - id: AnlsGrouping_01_Trt_2
    labelname: Xanomeline Low Dose
    order: 2 
    ...
  - id: AnlsGrouping_01_Trt_3
    labelname: Xanomeline High Dose
    order: 3 
    ...
- id: AnlsGrouping_02_Sex
  dataDrivenname: falseSex
  labelgroupingDataset: SexADSL
  groupingVariable: SEX
  dataDriven: false
  groups:
  - id: AnlsGrouping_02_Sex_1
    labelname: Male
    order: 1
    ...
  - id: AnlsGrouping_02_Sex_2
    labelname: Female
    order: 2
    ...
methods:
- id: Mth01_CatVar_Summ_ByGrp
  name: Summary by group of a categorical variable
  operations:
  - id: Mth01_CatVar_Summ_ByGrp_1_n
    name: Count of subjects
    label: n
    order: 1
    resultPattern: XXX
  - id: Mth01_CatVar_Summ_ByGrp_2_pct
    name: Percent of subjects
    label: '%'
    order: 2 
    resultPattern: ( XX.X)
    ...
analyses:
- id: An03_03_Sex_Summ_ByTrt
  name: Summary of Subjects by Treatment and Sex
  version: 1
  dataset: ADSL
  variable: USUBJID
  methodId: Mth01_CatVar_Summ_ByGrp
  orderedGroupings:
  - order: 1
    resultsByGroup: true
    groupingId: AnlsGrouping_01_Trt
  - order: 2
    resultsByGroup: true
    groupingId: AnlsGrouping_02_Sex
  results:
  - operationId: Mth01_CatVar_Summ_ByGrp_1_n
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_1
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_1
    rawValue: '33'
    formattedValue: '33'
  - operationId: Mth01_CatVar_Summ_ByGrp_1_n
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_1
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_2
    rawValue: '53'
    formattedValue: '53'
  - operationId: Mth01_CatVar_Summ_ByGrp_1_n
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_2
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_1
    rawValue: '34'
    formattedValue: '34'
  - operationId: Mth01_CatVar_Summ_ByGrp_1_n
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_2
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_2
    rawValue: '50'
    formattedValue: '50'
  - operationId: Mth01_CatVar_Summ_ByGrp_1_n
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_3
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_1
    rawValue: '44'
    formattedValue: '44'
  - operationId: Mth01_CatVar_Summ_ByGrp_1_n
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_3
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_2
    rawValue: '40'
    formattedValue: '40'
  - operationId: Mth01_CatVar_Summ_ByGrp_2_pct
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_1
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_1
    rawValue: '38.372093023255815'
    formattedValue: ( 38.4)
  - operationId: Mth01_CatVar_Summ_ByGrp_2_pct
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_1
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_2
    rawValue: '61.627906976744185'
    formattedValue: ( 61.6)
  - operationId: Mth01_CatVar_Summ_ByGrp_2_pct
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_2
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_1
    rawValue: '40.476190476190474'
    formattedValue: ( 40.5)
  - operationId: Mth01_CatVar_Summ_ByGrp_2_pct
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_2
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_2
    rawValue: '59.523809523809526'
    formattedValue: ( 59.5)
  - operationId: Mth01_CatVar_Summ_ByGrp_2_pct
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_3
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_1
    rawValue: '52.38095238095238'
    formattedValue: ( 52.4)
  - operationId: Mth01_CatVar_Summ_ByGrp_2_pct
    resultGroups:
    - groupingId: AnlsGrouping_01_Trt
      groupId: AnlsGrouping_01_Trt_3
    - groupingId: AnlsGrouping_02_Sex
      groupId: AnlsGrouping_02_Sex_2
    rawValue: '47.61904761904762'
    formattedValue: ( 47.6)
  ...
 ...

The results for this analysis could be represented in tabular format as shown in the following table, where the groupingId and groupId values from the 2 two instances of the value of the id attribute of the analysis is shown in the "analysisId" column and the groupingId and groupId values from the 2 instances of the ResultGroup class found in the resultGroups attribute for each each result are represented in separate pairs of columns ("groupingId1"/"groupId1" and "groupingId2"/"groupId2") so that each result is represented on a single row:

Dataset2
analysisIdoperationIdgroupingId1groupId1groupingId2groupId2rawValueformattedValue
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nAnlsGrouping_01_TrtAnlsGrouping_01_Trt_1AnlsGrouping_02_SexAnlsGrouping_02_Sex_13333
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nAnlsGrouping_01_TrtAnlsGrouping_01_Trt_1AnlsGrouping_02_SexAnlsGrouping_02_Sex_25353
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nAnlsGrouping_01_TrtAnlsGrouping_01_Trt_2AnlsGrouping_02_SexAnlsGrouping_02_Sex_13434
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nAnlsGrouping_01_TrtAnlsGrouping_01_Trt_2AnlsGrouping_02_SexAnlsGrouping_02_Sex_25050
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nAnlsGrouping_01_TrtAnlsGrouping_01_Trt_3AnlsGrouping_02_SexAnlsGrouping_02_Sex_14444
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nAnlsGrouping_01_TrtAnlsGrouping_01_Trt_3AnlsGrouping_02_SexAnlsGrouping_02_Sex_24040
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pctAnlsGrouping_01_TrtAnlsGrouping_01_Trt_1AnlsGrouping_02_SexAnlsGrouping_02_Sex_138.3720930232558( 38.4).4)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pctAnlsGrouping_01_TrtAnlsGrouping_01_Trt_1AnlsGrouping_02_SexAnlsGrouping_02_Sex_261.6279069767442( 61.6)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pctAnlsGrouping_01_TrtAnlsGrouping_01_Trt_2AnlsGrouping_02_SexAnlsGrouping_02_Sex_140.4761904761905( 40.5)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pctAnlsGrouping_01_TrtAnlsGrouping_01_Trt_2AnlsGrouping_02_SexAnlsGrouping_02_Sex_259.5238095238095( 59.5)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pctAnlsGrouping_01_TrtAnlsGrouping_01_Trt_3AnlsGrouping_02_SexAnlsGrouping_02_Sex_152.3809523809524( 52.4)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pctAnlsGrouping_01_TrtAnlsGrouping_01_Trt_3AnlsGrouping_02_SexAnlsGrouping_02_Sex_247.6190476190476( 47.6)

Alternatively, to aid readability, each of the identifier values could be used to retrieve and include additional the name or label (or any other descriptive information) from the definitions of the operations, grouping factors, and groups:

Dataset2
analysisIdoperationIdoperation_labelgroupingId1grouping_label1name1groupId1group_label1name1groupingId2grouping_label2name2groupId2group_label2name2rawValueformattedValue
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nnAnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_1PlaceboAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_1Male3333
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nnAnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_1PlaceboAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_2Female5353
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nnAnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_2Xanomeline Low DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_1Male3434
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nnAnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_2Xanomeline Low DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_2Female5050
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nnAnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_3Xanomeline High DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_1Male444444
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_1_nnAnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_3Xanomeline High DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_2Female4040
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pct%AnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_1PlaceboAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_1Male38.3720930232558( 38.4)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pct%AnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_1PlaceboAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_2Female61.6279069767442( 61.6)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pct%AnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_2Xanomeline Low DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_1Male40.4761904761905( 40.5)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pct%AnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_2Xanomeline Low DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_2Female59.5238095238095( 59.5)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pct%AnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_3Xanomeline High DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_1Male52.3809523809524( 52.4)
An03_03_Sex_Summ_ByTrtMth01_CatVar_Summ_ByGrp_2_pct%AnlsGrouping_01_TrtTreatmentAnlsGrouping_01_Trt_3Xanomeline High DoseAnlsGrouping_02_SexSexAnlsGrouping_02_Sex_2Female47.6190476190476( 47.6)