Stata17中的可定义表格——新表格命令
今天,将开始写一系列关于Stata17中可自定义表格的文章。我们扩展了table命令的功能。我们还开发了一个全新的系统,允许您从 Stata 命令收集结果,创建自定义表格布局和样式,保存和使用这些布局和样式,并将您的表格导出为流行的文档格式。我们甚至添加了一本新手册,向您展示如何使用这个灵活的系统。
在向您展示如何创建自己的可定义表格之前,我想向您展示一些示例。将在以后的文章中向您展示如何重新创建这些示例。
经典表1
这个例子是经典的“table 1”。大多数报告和论文都已样本的描述性统计表开始,该表通常被分类变量细分。下表报告了连续变量的均值和标准差,并显示了分类变量的频率和百分比。这些统计数据针对每个高血压类别和整个样本显示。
统计测试结果表
有时,我们期望报告一组变量的真实假设检验。下表报告了一组连续变量的平均值,参与者没有高血压、有高血压,平均值之间的差异以及t检验的P值。
多元回归模型表
我们可能还创建一个表格来比较几个回归模型的结果。下表显示了三个逻辑回归模型的协变量的优势比和标准误差,以及每个模型的AIC和BIC。
单个回归模型表
我们可能还期望显示回归模型的结果。下表显示了模型中么个协变量的优势比、标准误差、Z分数、P值和95%置信区间。
您可能更喜欢不用的表格布局,这就是本系列文章的重点。目标是向您展示如何创建您自己的自定义表格并将它们导入到您的文档中。
数据
让我们先输入webuse nhanes2l打开一个数据集,该数据集包含来自健康和营养检查调查(NHANES)的数据,并描述我们将使用的一些变量。
这数据包含参与者的人口统计学、人体测量学和生物学测量。我们现在将忽略调查权重,以便我们可以专注于创建表格的语法。
table命令介绍
table的基本语法是table(RowVars)(ColVars)。下面的示例为行变量highbp创建了一个表。
默认情况下,该表现是每个类别的highbp频率和总频率。本示例中的第二组空括号不是必要的,因为没有列变量。
下面的示例为列变量highbp创建了一个表。在此示例中,First group空括号是必要的,以便表知道highbp是列变量。
下面的示例为行变量sex和列变量highbp创建了一个交叉表。默认情况下包括行和列总计。
我们可以通过包含nottotals选项来删除行和列总计
我们还可以指定多个行或列变量,或两者兼而有之。下面的示例显示嵌套在highbp类别中的性别类别的频率。
或者我们可以显示嵌套在性别类别中的highbp类别的频率,如下例所示。括号中变量的顺序决定了表中的嵌套结构。
我们可以为多个列变量指定类似的嵌套结构。下面的示例显示嵌套在highbp类别中的性别类别的频率。
或者我们可以显示嵌套在性别类别中的highbp类别的频率,如下例所示。同样,括号中变量的顺序决定了表中的嵌套结构。
您甚至可以指定三个或更多行或列变量。下面的示例显示嵌套在高bp类别中的性别类别中嵌套的糖尿病类别的频率。
totals() 选项
我们可以通过在totals()选项中包含变量名称来包含特定行或列变量的总计。下面示例中的选项totals(highbp)将列变量highbp 的总计添加到我们的表中。
下面示例中的选项totals(sex)将行变量性别的总计添加到我们的表中
即使有多个行或列变量,我们也可以为特定变量指定行或列变量。下面的示例显示行变量highbp 的总计,即使表中有两个行变量。
statistic() 选项
默认情况下显示频率,但您可以使用statistic()选项指定其他统计信息。例如,您可以分别使用statistic(frequency)和statistic(percent)选项显示频率和百分比。
我们还可以分别使用选项statistic(mean age)和statistic(sd age)包括年龄的平均值和标准差。
您可以在 Stata 手册中查看statistic()选项的全部统计信息列表。
nformat() 和 sformat() 选项
我们可以使用nformat()选项来指定表中统计数据的数字显示格式。在下面的示例中,选项nformat(%9.0fc frequency)显示频率,千位以逗号分隔,小数点右侧没有数字。选项nformat(%6.2f mean sd)显示平均值和标准偏差,小数点右侧有两位数字。
我们可以使用sformat()选项将字符串添加到表中的统计信息中。在下面的示例中,选项sformat(“%s%%” percent)将“%”添加到统计百分比,选项sformat(“(%s)” sd)将括号放在标准偏差周围。
style() 选项
我们可以使用style()选项将预定义的样式应用于表格。在下面的示例中,选项style(table-1)将 Stata 的预定义样式table-1应用于我们的表。此样式更改了行标签的外观。您可以在手册中查看 Stata预定义样式的整体列表,我将在以后的博客文章中向您展示如何创建自己的样式。
结论
我们学到了很多关于新的和改进的table命令的知识,但我们几乎没有触及表面。我们已经学会了如何创建表和使用nototals,总计() ,统计() ,nformat() ,sformat()和()样式选项。
我将在下一篇文章中向您展示如何使用collect来自定义表格的外观......