Stata 17 中的可定制表格,第四部分:统计测试表格

在上一篇文章中,向您展示了如何使用带有statistic()选项的新的和改进的table命令来创建经典表 1。在这篇文章中,向您展示如何使用command()选项来创建一个统计检验表。我们的目标是在下面的 Microsoft Word 文档中创建表格。


创建基本表

先输入webuse nhanes2l打开 NHANES数据表,然后输入describe来检查一些变量。

该数据集包括高血压(highbp)、年龄和很多实验室测量值的指标。我们想检验零假设,即高血压和非高血压组的平均年龄和实验室测量值相同。我们可以用Stata的ttest命令来做这一点。让我们用ttest来检验两组平均年龄相同的原假设。


输出显示很多统计信息,包括t检验的两侧p值。其中一些统计信息展示留在内存中,我们可以通过键入return list来查看它们。


我们可以使用table中的command()选项来运行一个命令,例如ttest,并将结果放在一个表中。下面的示例显示了从ttest创建结果表的基本语法。行维度是command,列维度是result,我们将ttest命令放在command()选项中。


忽略了输出,因为谈了视图将全部结果包含在table中,并且输出不适合屏幕。让我们在command()中更具体地了解我们期望包含在表格中的统计信息。让我们为没有高血压的人的平均年龄添加一个名为Normotensive的列。该列有ttest存储在变量r(mu_1)中。还可以为高血压患者的平均年龄添加一个名为Hypertensive的列,该列存储在标量r(mu_2) 中,一个名为Diff的列用于表示组均值之间的差异,以及一个名为pvalue的列,用于显示p-value 存储在r(p) 中。

输出在first column中显示ttest命令,然后是在table命令中指定的均值、差值和P值。我想用标签Age(years)替换表中的命令名称。回想一下,维度有级别,级别可以有标签。输入collect label list命令,全部查看维度命令的级别和标签。


输出告诉我们维度命令有一个级别1,标记为ttest age,by(highbp)。我们可以使用collect label levels更改级别1的标签。然后我们可以输入collect preview来查看更新的表。


接下来我们可以使用collect样式单元格来更改每个单元格中显示的小数位数,并从first column中删除右边框。


我们做到了!表格看起来不错,但只包含了一个变量的测试。我们还可以添加更多。


创建一个更大的表

向我们的表添加更多测试的明显方法是添加更多command()选项。正如我们在下面看到的那样,这将起作用。


但是我们的table命令比table增长的更快。这时我们可以使用一个小技巧来使我们的任务更简单,我们的代码更整洁。请注意,我们的command()选项中的大部分代码是相同的。我们可以将代码存储在本地宏中,并在我们的command()选项中使用本地宏。已经将命令存储在名为myresults的本地宏中。


现在我们可以在command()选项中用本地宏’myresults‘替换冗长的列定义。

让我们使用新的技巧将其余的实验室变量添加到我们的表中。

接下来可以更改维度命令的级别标签。让我们先列出每个级别的标签。

请注意,级别按字符串而不是数字排序,这是因为级别可以是字符串或数字。我们可以看到与每个级别关联的变量名称,可以使用collect label levels重新标记它们。



让我们使用collect样式单元格格式化靴子并从 first column中删除右边框。

将表格导出到Microsoft Word。

一旦我们对表格的布局感到满意,就可以将其导出为多种不同的文件格式。将使用putdocx 、collect style putdocx和putdocx collect将我们的表导出到 Microsoft Word 文档。这时会注意到,下面的命令几乎与我之前关于表格的帖子中的命令相同。



结论

在这篇文章中,我们学习了如何将command()选项与table命令一起使用来创建统计测试表。步骤很简单:
运行感兴趣的命令,
键入return list以查看内存中剩余的统计信息,使用行维度命令和列维度结果创建表,并将命令放入命令()选项中。您可能期望为表中的统计信息指定自定义列,我们了解了如何使用本地宏来简化该任务。

在下一篇文章中,将向您展示如何使用命令()选项创建回归系数表。




热门产品

2021-09-07 17:12
首页    技术文档    Stata 17 中的可定制表格,第四部分:统计测试表格