我的数据集包括两个主要变量 X
和 Y
.
-
变量
X
表示具有不同品牌的多个计算机项目的不同代码(例如001X01,001X02等) . -
变量
Y
表示商店的每个变量代码X
(例如,15 = 15%,001X01)的税费 .
我已经使用虚拟变量为这些计算机项目创建了类别(例如,对于硬盘驱动器, HD
虚拟变量,当变量 X
代表HD时,取值为1,等等) . 我有一个包含40多个变量的列表(其中两个代表 X
和 Y
,其余的是我为计算机项创建的不同类别的一组虚拟变量) .
我想在Stata中使用循环显示所有这些类别的平均值,但我不知道如何做到这一点 .
例如代码:
mean Y if HD == 1
Mean estimation Number of obs = 5
--------------------------------------------------------------
| Mean Std. Err. [95% Conf. Interval]
-------------+------------------------------------------------
Tax | 7.1 2.537716 1.154172 15.24583
给出了代表硬盘的类别的平均税 . 如何在Stata中使用循环自动显示每个类别收取的所有平均税?我会手工完成没有问题,但我想重复这个过程多年,所以我想每年使用一个循环来提出这个输出 .
我的目标是创建一个单独的Excel文件,其中包含我创建的每个计算机类别(总共38个)以及每年按类别划分的平均税 .
2 回答
为什么要打扰循环并创建指标变量?如果我理解正确,您的初始数据集允许使用简单的
collapse
:要转到Excel,您可以尝试
export excel
或put excel
.有关详细信息,请运行
help collapse
和help export
.Edit
因为你坚持,下面是一个使用循环给出相同结果的例子 . 我假设与以前相同的数据
input
. 使用此示例数据库和expand 1000000
进行的一些测试显示速度几乎相同 . 但几乎可以肯定的是,你(包括你未来的你)和你的读者会更喜欢collapse
. 它更清晰,更清晰,更简洁 . 它甚至更漂亮 .Stata的功能使其与其他语言完全不同 . 一旦你开始掌握它,你会发现在其他地方完成循环的许多事情,可以在Stata中无循环 . 在许多情况下,后一种风格将是首选 .
使用
help <command>
查看相应的帮助文件,如果您不熟悉保存的结果(例如r(mean)
),请键入help return
.Roberto的优秀答案的补充:在
collapse
之后,您将需要一个循环将结果导出为excel .我更喜欢将数字代码用于变量,例如类别变量 . 然后我为它们分配值标签 . 这是Roberto代码的一个版本,它执行此操作,为了更接近您的问题,添加“年”变量
#delim ;
命令可以在单独的行上轻松列出每个代码 .export
语句中的"label"函数是一个扩展宏函数,用于在文件名中插入值标签 .