我聚集了一些NBA球员'他们的三双游戏的数据,并希望找出谁平均获得最具爆炸性的数据。
来源是"篮球参考 - 玩家游戏查找 - 三倍双打"。(很抱歉,我因为缺乏声誉而无法发布直接网址)
所以我使用以下方法生成了一个表格,总结了几个变量(pts trb ast stl blk
)的描述性统计数据(例如计数均值):
tabstat pts trb ast stl blk, statistics(count mean) format(%9.1f) by(player)
我得到的是下表:
tabstat
结果:
我怎样才能告诉Stata按照count >= 10
(有人获得10次或更多次三倍)来过滤玩家,然后按pts
对表进行排序并获取:
理想的结果:
如上所述,我想说迈克尔乔丹和詹姆斯哈登是最具爆发力的三双球员,而达雷尔沃克是最经济的球员。
答案 0 :(得分:0)
请研究https://stackoverflow.com/help/mcve如何展示其他人可以立即使用的示例。此外,避免不能普遍理解的体育专业术语,更多地关注一般编程问题会有所帮助。幸运的是,你想要的东西似乎很清楚。
要执行此操作,您需要在tabstat
来电之前创建一个定义所需订单的变量。要根据需要标记(值),请使用labmask
(search labmask
,然后从 Stata Journal 位置下载)。
这是一些技巧。
sysuse auto, clear
egen mean = mean(weight), by(rep78)
egen count = count(weight), by(rep78)
egen group = group(mean rep78) if count >= 5
replace group = -group
labmask group, values(rep78)
label var group "`: var label rep78'"
tabstat mpg weight , by(group) s(count mean) format(%1.0f)
Summary statistics: N, mean
by categories of: group (Repair Record 1978)
group | mpg weight
-------+--------------------
2 | 8 8
| 19 3354
-------+--------------------
3 | 30 30
| 19 3299
-------+--------------------
4 | 18 18
| 22 2870
-------+--------------------
5 | 11 11
| 27 2323
-------+--------------------
Total | 67 67
| 21 3030
----------------------------
主要细节:
分组变量不仅基于您要排序的方式,还基于原始分组变量,以防万一有关系。
要从最高均值向下排序,必须否定分组变量。
tabstat
不会在表格正文中显示变量标签。 (通常没有足够的空间给他们。)