首页 文章

Twoway连续变量的汇总统计表

提问于
浏览
0

为连续表创建双向汇总统计表的最佳方法是什么?例如一张看起来像的 table

Group1           Group2          Total
      mean       sd      mean      sd     mean     sd
x1      1         2       3         4       5       6 
x2      7         7       7         7       7       7

summarize 这很容易,但没有分组 .

我还看了 tabulatetabout ,但是当x1和x2是离散变量时,这些似乎更相关 .

如果表可以导出为LaTeX文件也是好的 .

2 回答

  • 0

    对此没有真正开箱即用的解决方案 . 曾经有 latabstat ,但我发现这不太适合 . 当我面对这样的任务时,我通常是手工完成的:

    log using table.tex, text replace
    log on
    foreach v in x1 x2 {
        di "`v' " _c 
        foreach gr in Group1 Group2 {
            qui sum `v' if `gr' == 1
            di " & " r(mean) " & " r(sd) _c
        }
        ** Total Group
        qui sum `v' 
         di " & " r(mean) " & " r(sd) " \\"
    }
    log off
    

    这样,您可以在日志文件中拥有表的主体,该文件可以包含在Latex文档中

  • 0

    折叠可以让你想要你想要的 . 您只需要确保数据正确组织 .

    你的“x”应该有一个变量 . 然后,您只需要将您想要汇总的数据分别作为group1,group2和total的单个变量 . 您需要复制这些变量以获得多个摘要统计信息,但是然后折叠可以将数据折叠到摘要统计信息表中 .

    clear
    
        * Generate Data
        set obs 20
        gen x = "x1" in 1/10
        replace x = "x2" in 11/20
        set seed 122
        gen m_group1 = runiform()
            gen sd_group1 = m_group1    // Duplicate data for SD column
        gen m_group2 = runiform()
            gen sd_group2 = m_group2
        gen m_total = m_group1 + m_group2
            gen sd_total = m_total
    
        collapse    (mean) m_group1 (sd) sd_group1  /// Group 1
                    (mean) m_group2 (sd) sd_group2  /// Group 2
                    (mean) m_total (sd) sd_total    /// Total Group
                    , by(x)
    

相关问题