Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Combining two dtables vertically

    Is it possible to combine two dtable's vertically to retain the same variables across but add the second table onto the first?


    Code:
    Code:
    dtable age i.marriage i.education i.employment i.sexualpartners_current i.partnerHIVtest, by(HIVservice, nototals tests) sample(, statistics(freq) place(seplabels)) sformat("(N=%s)" frequency) column(by(hide))
        
    dtable age i.marriage i.education i.employment i.sexualpartners_current i.partnerHIVtest, by(gender, nototals tests) sample(, statistics(freq) place(seplabels)) sformat("(N=%s)" frequency) column(by(hide))
    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input byte age float(marriage education employment sexualpartners_current partnerHIVtest gender HIVservice)
    43 2 4 4 1 1 2 2
    62 1 2 4 0 2 2 2
    44 1 1 4 1 1 2 2
    44 1 1 4 1 2 2 2
    39 2 4 4 1 2 2 2
    end
    label values marriage marriage
    label def marriage 1 "No", modify
    label def marriage 2 "Yes", modify
    label values education education
    label def education 1 "Form 1-4", modify
    label def education 2 "Form 5 or higher", modify
    label def education 4 "Standard 7", modify
    label values employment employment
    label def employment 4 "Self-employed", modify
    label values sexualpartners_current sexualpartners_current
    label def sexualpartners_current 0 "0", modify
    label def sexualpartners_current 1 "1", modify
    label values partnerHIVtest partnerHIVtest
    label def partnerHIVtest 1 "No", modify
    label def partnerHIVtest 2 "Yes", modify
    label values gender gender
    label def gender 2 "Female", modify
    label values HIVservice HIVservice
    label def HIVservice 2 "CTC", modify

  • #2
    See https://www.stata.com/support/faqs/r...-tables/#ex_3a

    Comment


    • #3
      Thanks, yes I saw that and already tried it but it does not fully retain my variables or all my columns:


      Click image for larger version

Name:	Screenshot 2024-06-20 160643.png
Views:	1
Size:	12.3 KB
ID:	1756749

      Comment


      • #4
        Code:
        clear
        input byte age float(marriage education employment sexualpartners_current partnerHIVtest gender HIVservice)
        43 2 4 4 1 1 2 2
        62 1 2 4 0 2 2 2
        44 1 1 4 1 1 2 2
        44 1 1 4 1 2 2 2
        39 2 4 4 1 2 2 2
        end
        label values marriage marriage
        label def marriage 1 "No", modify
        label def marriage 2 "Yes", modify
        label values education education
        label def education 1 "Form 1-4", modify
        label def education 2 "Form 5 or higher", modify
        label def education 4 "Standard 7", modify
        label values employment employment
        label def employment 4 "Self-employed", modify
        label values sexualpartners_current sexualpartners_current
        label def sexualpartners_current 0 "0", modify
        label def sexualpartners_current 1 "1", modify
        label values partnerHIVtest partnerHIVtest
        label def partnerHIVtest 1 "No", modify
        label def partnerHIVtest 2 "Yes", modify
        label values gender gender
        label def gender 2 "Female", modify
        label values HIVservice HIVservice
        label def HIVservice 2 "CTC", modify
        
        collect clear
        gen byvar= HIVservice
        
        dtable age i.marriage i.education i.employment i.sexualpartners_current i.partnerHIVtest, ///
        by(byvar, nototals tests) sample(, statistics(freq) place(seplabels)) ///
        sformat("(N=%s)" frequency) column(by(hide)) name(CTC)
        
        replace byvar=gender    
        dtable age i.marriage i.education i.employment i.sexualpartners_current i.partnerHIVtest, ///
        by(byvar, nototals tests) sample(, statistics(freq) place(seplabels)) ///
        sformat("(N=%s)" frequency) column(by(hide)) name(Female)
        
        collect combine all= CTC Female
        collect layout (collection#var) (byvar#result#_dtable_sample_dim)
        Res.:

        Code:
        . collect layout (collection#var) (byvar#result#_dtable_sample_dim)
        
        Collection: all
              Rows: collection#var
           Columns: byvar#result#_dtable_sample_dim
           Table 1: 34 x 2
        
        --------------------------------------------
                                        2       Test
                                      (N=5)         
        --------------------------------------------
        CTC                                         
          age                    46.400 (8.961)    .
          marriage                                  
            No                        3 (60.0%)    .
            Yes                       2 (40.0%)     
          education                                 
            Form 1-4                  2 (40.0%)    .
            Form 5 or higher          1 (20.0%)     
            Standard 7                2 (40.0%)     
          employment                                
            Self-employed            5 (100.0%)    .
          sexualpartners_current                    
            0                         1 (20.0%)    .
            1                         4 (80.0%)     
          partnerHIVtest                            
            No                        2 (40.0%)    .
            Yes                       3 (60.0%)     
        Female                                      
          age                    46.400 (8.961)    .
          marriage                                  
            No                        3 (60.0%)    .
            Yes                       2 (40.0%)     
          education                                 
            Form 1-4                  2 (40.0%)    .
            Form 5 or higher          1 (20.0%)     
            Standard 7                2 (40.0%)     
          employment                                
            Self-employed            5 (100.0%)    .
          sexualpartners_current                    
            0                         1 (20.0%)    .
            1                         4 (80.0%)     
          partnerHIVtest                            
            No                        2 (40.0%)    .
            Yes                       3 (60.0%)     
        --------------------------------------------
        Last edited by Andrew Musau; 20 Jun 2024, 18:30.

        Comment


        • #5
          Thank you! I am actually trying to get them next to each other. So that there is two columns with the two HIVservice groups, a column with the test p-values, and then another two columns with the gender groups, and then a column with the p-values for the tests between the two gender groups.

          Comment


          • #6
            Like this?

            Code:
            clear
            input byte age float(marriage education employment sexualpartners_current partnerHIVtest gender HIVservice)
            43 2 4 4 1 1 2 2
            62 1 2 4 0 2 2 2
            44 1 1 4 1 1 2 2
            44 1 1 4 1 2 2 2
            39 2 4 4 1 2 2 2
            end
            label values marriage marriage
            label def marriage 1 "No", modify
            label def marriage 2 "Yes", modify
            label values education education
            label def education 1 "Form 1-4", modify
            label def education 2 "Form 5 or higher", modify
            label def education 4 "Standard 7", modify
            label values employment employment
            label def employment 4 "Self-employed", modify
            label values sexualpartners_current sexualpartners_current
            label def sexualpartners_current 0 "0", modify
            label def sexualpartners_current 1 "1", modify
            label values partnerHIVtest partnerHIVtest
            label def partnerHIVtest 1 "No", modify
            label def partnerHIVtest 2 "Yes", modify
            label values gender gender
            label def gender 2 "Female", modify
            label values HIVservice HIVservice
            label def HIVservice 2 "CTC", modify
            
            collect clear
            
            dtable age i.marriage i.education i.employment i.sexualpartners_current i.partnerHIVtest, ///
            by(HIVservice, nototals tests) sample(, statistics(freq) place(seplabels)) ///
            sformat("(N=%s)" frequency) column(by(hide)) name(CTC)
               
            dtable age i.marriage i.education i.employment i.sexualpartners_current i.partnerHIVtest, ///
            by(gender, nototals tests) sample(, statistics(freq) place(seplabels)) ///
            sformat("(N=%s)" frequency) column(by(hide)) name(Female)
            
            collect combine all= CTC Female
            collect layout (var) (gender#result#_dtable_sample_dim  HIVservice#result#_dtable_sample_dim )
            Res.:

            Code:
            . collect layout (var) (gender#result#_dtable_sample_dim  HIVservice#result#_dtable_sample_dim )
            
            Collection: all
                  Rows: var
               Columns: gender#result#_dtable_sample_dim HIVservice#result#_dtable_sample_dim
               Table 1: 16 x 4
            
            --------------------------------------------------------------
                                       Female     Test       CTC      Test
                                        (N=5)               (N=5)         
            --------------------------------------------------------------
            age                    46.400 (8.961)    . 46.400 (8.961)    .
            marriage                                                      
              No                        3 (60.0%)    .      3 (60.0%)    .
              Yes                       2 (40.0%)           2 (40.0%)     
            education                                                     
              Form 1-4                  2 (40.0%)    .      2 (40.0%)    .
              Form 5 or higher          1 (20.0%)           1 (20.0%)     
              Standard 7                2 (40.0%)           2 (40.0%)     
            employment                                                    
              Self-employed            5 (100.0%)    .     5 (100.0%)    .
            sexualpartners_current                                        
              0                         1 (20.0%)    .      1 (20.0%)    .
              1                         4 (80.0%)           4 (80.0%)     
            partnerHIVtest                                                
              No                        2 (40.0%)    .      2 (40.0%)    .
              Yes                       3 (60.0%)           3 (60.0%)     
            --------------------------------------------------------------
            Last edited by Andrew Musau; 20 Jun 2024, 19:03.

            Comment

            Working...
            X