Stata软件用putexcel命令创建Excel表格 为任意变量编写自定义报表.docx
- 文档编号:11022206
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:16
- 大小:922.71KB
Stata软件用putexcel命令创建Excel表格 为任意变量编写自定义报表.docx
《Stata软件用putexcel命令创建Excel表格 为任意变量编写自定义报表.docx》由会员分享,可在线阅读,更多相关《Stata软件用putexcel命令创建Excel表格 为任意变量编写自定义报表.docx(16页珍藏版)》请在冰豆网上搜索。
Stata软件用putexcel命令创建Excel表格为任意变量编写自定义报表
Stata软件用putexcel命令创建Excel表格--为任意变量编写自定义报表
在之前的博文中演示了如何使用putexcel在Excel中重现常见的Stata输出。
今天将演示如何为任意变量创建自定义报表。
创建单元格计数与行百分比相结合,以及具有标准偏差方法的表。
但是你可以修改下面的例子包括列的百分比,百分点、标准误差、置信区间或任何统计。
使用本地宏将变量名传递到我的程序中。
通过将新变量名赋予宏,可以为任意变量创建相同的报表。
您可以通过创建每个报表的do-file并将变量名传递到do-file来扩展这个想法。
这是我们在Excel中自动创建报表的又一重要步骤。
今天的文章包含了几个大的代码组。
这是因为每个示例都包含了前面示例中的代码以及新的代码行。
虽然允许在整个程序的上下文中看到新代码,但它也使新代码的出现需要更长的时间。
代码组中的大部分代码与示例相同。
案例1:
将返回结果写入Excel
我们使用tabulate创建一个sex和race的单元格计数矩阵。
输入
数据,在本地中保存sexRowVar但是我想把任何两分类变量放入表格中,所以在本地宏列成表。
和数据。
现在可以使用相应的本地宏将中保存宏ColVarracesexrace
单元格计数保存在矩阵cellcounts中。
中,n)来查看标量返回列表。
观察的总数保存在标量R(returnlist通过tabulate可以输入)中。
(c)中,列数保存在行数保存在R(rR
为了以后可以使用这些标量,可以将其保存在本地宏中。
:
循环行和列案例2的每个单元格。
cellcounts我可以使用保存的行和列的计数来循环矩阵.
或使用的数字来计算另/在矩阵中循环每个单元格使我们能够格式化每个单元格中的数字和一个数,如百分比。
char()的功能案例3:
中使表的行用数字来索引,列用字母索引。
在Excel矩阵的行和列都用数字来索引。
Excel码和函数ASCIIchar()char()功能可以将矩阵的列数字转换成列字母。
函数的参数是一个用”等等。
返回字母“B返回字母“char(65)A”char(66)返回对应的ASCII码。
比如,
表格的列Excel我们可以在循环中使用函数char(64+`col')来将矩阵中的列数字转化为中。
可以使用第四行4行将单元格名称保存到本地宏Cell字母。
下面代码1中的第的功能,所以为了连贯性这里string()“`row'”而不是string(`row')。
但是我始终需要中的单元格对应。
Excel的值与Cell写入putexcel行使用5还是使用了。
第
Excel
:
将单元格计数写入4案例的第四行单元Codeblock2Codeblock2演示如何将矩阵中的单元格计数写入Excel表。
表中将目标单元格第五行ExcelCellContents格计数从矩阵cellcounts保存到本地宏中,Cell写入CellContentsputexcelExcelCell保存到本地宏中,并且第六行在表中使用将中。
Excel
:
将行百分比写入案例5我需要单元格计数和行合计来计算行百Excel我希望将行百分比写入表而不是单元格计数。
11里。
命令将行总数保存到矢量下面第三行的tabulaterowtotalsCode分比。
block3
行计算和格式化单元格百分比并且将其保12cellcount里。
行将单元格计数保存到本地宏里并且将生成的字符串保cellpercent行将“%”符号增加到13cellpercent存在本地宏。
里。
存到本地宏CellContents
Excel
:
将单元格计数和行百分比写入6案例行来13将单元格计数和行百分比写入每个单元格。
可以通过修改上面Codeblock3的第都保存在本地宏和cellcountcellpercent行将的第block实现。
下面Code413中。
CellContents
表格中添加行标签7:
在Excel案例,但我希望表中输入“女性”和“男性”表格中添加行标签。
可以在Excel接下来在Excel男性“被1==能够更改程序顶部的行变量,并自动标记行。
值的标签比如“0女性”和“,describesexlabelvalues并且标签被附加到使用变量。
如果输入定义使用labeldefineSexLabel被命名成。
可以看到附加的值标签sex
SexLabel的定义。
可以看到通过输入labellistSexLabel
保存在本地sex可以使用变量名来访问所有关于变量值标签的信息。
当前行变量的名字,
宏RowVar中。
可以使用下面的宏列表函数保存价值标签RowVar到本地宏RowValueLabel中。
RowLevels中。
RowVar可以使用levelsof将的数字分类到本地宏
里RowLevels功能可以参考RowLevels中的每一个数字分类,比如,本地宏words()使用“保存到本地宏0“。
通过使用下面宏列表功能可以将”wordword面第一个““是”RowValueLabelNum中。
RowLabel里面。
“相关的标签保存到本地宏通过使用下面宏列表功能可以将与”0
的第二分类。
sex使用同样的方法来保存.
将标签putexcel的价值标签并且使用Codeblock5包含这些命令用于提取RowVar下面表中。
写入Excel这将为之后添加的行标签和列标签让表的单元格向下移一行并且向右移一列。
首先将Excel8行。
第下移和右移表格来调整16行和23功能中加通过在出空间。
char()和string()1,数字分类保存在行RowVar9的价值标签保存在本地宏行RowVarRowValueLabel中。
第中。
本地宏RowLevels表格中。
行提取每个数字分类相关的标签并将其写入第14-17Excel
表中添加行总数8:
在Excel案例这样可以计算行中,将行总数保存在之前的矩阵rowtotals下面在Excel表中添加行总数。
Excel表中。
的百分比。
所以只需将矩阵的值写入到中rowtotals9-12行提取中。
的第下面Codeblock63行将行总数保存到矩阵rowtotals
将char()功能中,行的到注意通过添加Excel的每一行的总数并且将其写入到表中。
220表的右侧。
Excel一列的行总数写入到.
:
在Excel表格中添加列标签和总数案例9行中,保存列总数到4Codeblock7使用相同的方法可以增加列标签和总数。
在下面的第行保13中,并且第ColLevels到本地宏ColVar行保存价值标签12中。
第coltotals矩阵.
存ColVar的数字分类到本地宏ColLevels中。
34-43行把价值标签和列总数写入Excel表单中。
只需要将信息一次性写入Excel中,当条件满足if`row'==1时我就可以指定只运行这些行。
表:
形成一个Excel案例10Excel现在表中有了所有的数字和标签,我想添加边框线使之更容易阅读。
行标记总列数,52-53行,输入的总计数在表的右下角。
block8的第49-50Code下面标记总行数。
55-56行的实现方式还要简洁,但是代码可能比较58-73我想添加边框线来指定单元格范围,比UpperLeft,UpperRight,
58-61行定义表格的四个角并保存到本地宏难懂。
个单元格来定义单元格区域,并在4行使用这中。
和BottomLeftBottomRight63-73表格中添加边框线。
EXCEL.
表Excel案例11:
为任意变量创建都写这个程序的时间,现在你可能会怀疑是否需要花时间使用该方法将表格写入Excel中。
这个方法会节省大量时表了。
但是我想创建这个表并且需要多次使用,可以手工创建Excel行中通过简单的切换变量赋值来切换表中的21Codeblock9比如,间。
可以在下面第和行和列。
.
12:
在分类变量水平上为连续变量创建表格案例我可以用类似的方法为分类变量的多级演示了如何为两分类变量创建一个表格。
1-11案例Codeblock10下面race创建一个列标题。
首先为分类变量连续变量创建一个汇总统计表。
将变量标签保存行,6的代码看起来像案例1-11使用的代码。
唯一不熟悉的代码出现在第行列标签上方的合并单元格中。
26和25然后将变量标签写入到中。
ColVarLabel在本地宏
12(接上):
案例Code在下面race其中包含每个级别的age平均值和标准偏差。
可以添加一个行,接下来,中。
ContVar到本地宏age行开始保存2的第Block11.
第12行计算平均值和标准偏差的条件是if`ColVar'==`ColLevel'为真实的值。
你可能想使用条件if`ColVar'==`col'但是最好不要使用。
分类变量的级别往往是编号顺序从1开始的整数(比如“1,2,3..”)。
但这并不总是正确的。
比如,指示变量,像性别就是从0开始编号的。
Sex有2个分类,所以如果我们使用条件ifsex==1,我们会看到男性的结果但不会看到ifsex==2的结果。
我们从来不会考虑条件ifsex==0。
22RowMean中。
行格式化返回的均值r(mean),以小数点的形式显示并保存到本地宏21行15,显示到小数点后一位并且保存在本地宏RowSD中。
行格式化返回的标准偏差r(sd)行重复计算列20-25CellContents和RowSD合并将结果保存在本地宏中。
RowMean将表中。
Excel写到age行将变量名字26-27总数,
结语希望本文能够鼓舞你而不是吓到你。
为任意变量创建自动报告不是一件快速和容易的事情。
但是手动生成这些表格可能是费时和令人沮丧的。
如果你曾经只为一个手稿花时间排版表,
有一个审稿人认为你修改的分析在某种程度上改变了所有的表格,你应该明白我在说什么。
或者每周或每月运行定期更新数据的报告。
从长远来看,编写程序实现自动化Excel表格,可以为以后节省更多的时间。
将消除手动创建表格时可能出现的错误。
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Stata软件用putexcel命令创建Excel表格 为任意变量编写自定义报表 Stata 软件 putexcel 命令 创建 Excel 表格 任意 变量 编写 自定义 报表