2017-02-23 51 views
0

我收集了一些NBA球員的三雙比賽數據,並希望找出平均得到爆炸數據最多的球員。tabstat:如何對某個變量的輸出進行排序/排序?

來源是「籃球參考 - 玩家遊戲取景器 - 三雙」(對不起,我不能發佈,因爲缺乏信譽的直接URL)

所以,我產生一個表格,概括描述性統計(。例如,使用數平均)幾個變量(pts trb ast stl blk):

tabstat RESU:

tabstat pts trb ast stl blk, statistics(count mean) format(%9.1f) by(player)

我得到如下表LT:

enter image description here

我怎麼能告訴Stata的篩選由count >= 10球員(誰得到了10以上的三雙曾經)作爲一列,然後通過pts表進行排序,並得到:

理想結果:

enter image description here

和上面一樣,我會說喬丹和詹姆斯 - 哈登是前2最具爆炸性的三雙球員達雷爾·沃克爲t他最經濟的一個。

回答

0

做研究https://stackoverflow.com/help/mcve如何提出一個例子,其他人可以直接使用。另外,避免不能普遍理解的體育專業術語,更多地關注一般的編程問題將會有所幫助。幸運的是,你想要的東西似乎很清楚。

要做到這一點,您需要創建一個變量來定義您的tabstat調用之前所需的訂單。爲了得到它(價值)標記爲你想,使用labmasksearch labmask然後從下載Stata日記位置給出)。

這裏有一些技巧。

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 
---------------------------- 

關鍵細節:

  1. 分組變量是基於不僅要排序,而且還取決於原來的分組變量,萬一有在手段上關係的手段。

  2. 要從最高均值向下排序,必須取消分組變量。

  3. tabstat在表格主體中不顯示變量標籤。 (通常他們沒有足夠的空間。)

相關問題