Announcement

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

  • Looping for one-way table involving several variables over one labelled variable and exporting results to excel

    Hi everyone,

    I kindly need some help on looping and exporting results to excel.

    I want to produce one-way tables for several variables and export the results to excel. I used the codes below from existing advice on Statalist. It works fine. But, I want to produce the one-way tables involving several variables across regions. In my data, I have a variable called "region" with 31 labelled values. I want to produce one-way tables for the five variables I have (PrBefore2013 SecBefore2013 PrCurrent Trendexist Currentfood) based on the "region" variable that has 31 regional indicators (labels). That is, I want to produce 31 one way tables for the each of the 5 variables of interest, and export the results to excel.

    Code:
     local yvars "PrBefore2013 SecBefore2013 PrCurrent Trendexist Currentfood"
    
    qui foreach var of local yvars {
        loc row = 2
        
        putexcel set "$Table/Incomesources.xlsx", sheet ("`var'") modify
        
            tab `var', matcell(freq) matrow(rname)
            
            loc rows = rowsof(rname)
            
                forval i = 1/`rows' {
                
                    loc val = rname[`i', 1]
                    loc val_lab : lab `var' `val'
                    loc rfreq = freq[`i', 1]
                    loc total = r(N)
                    loc percent : di %4.2f (`rfreq'/`total')*100
                    
                    putexcel A1=("Category") B1=("Levels") C1=("Freq") D1=("Percent")
                    putexcel A`row' = "`:var lab `var''"
                    putexcel B`row' = `val_lab'
                    putexcel C`row' = `rfreq'
                    putexcel D`row' = `percent'
                    
                    loc ++row
                }
            }
    Thank you for your time and help.
Working...
X