2013-04-04 3343 views
0

Stata中可以在一個變量中獲得與另一個變量的最大值相對應的觀測值嗎? (類似於SQL中的this)。獲取Stata中另一個變量的最大值對應的值

編輯:你是對的,尼克。我清楚細節。我的數據集看起來像this(wfs Google Docs表格;無法弄清楚如何在此格式化表格)。

我的目標是創建兩個變量,其中「col」和「row」值對應於「壓力」的最大值並列和條件。

回答

1

這是相當一般的,但確實是的是簡短的答案。以下是兩個具體示例,一個用於總體最大值,另一個用於組內最大值。

. sysuse auto, clear 
(1978 Automobile Data) 

. su mpg , meanonly 

. list weight if mpg == r(max) 

    +--------+ 
    | weight | 
    |--------| 
71. | 2,040 | 
    +--------+ 

. egen maxmpg = max(mpg), by(rep78) 

. list rep78 maxmpg weight if mpg == maxmpg 

    +-------------------------+ 
    | rep78 maxmpg weight | 
    |-------------------------| 
7. |  .  26 2,230 | 
14. |  3  29 2,110 | 
18. |  2  24 2,750 | 
40. |  1  24 2,730 | 
45. |  .  26 2,520 | 
    |-------------------------| 
52. |  2  24 2,690 | 
63. |  4  30 1,980 | 
71. |  5  41 2,040 | 
    +-------------------------+ 

的一般常識:

  1. 當心關係,特別是當數據(舉行)的整數。

  2. 小心你的選擇變量或任何其他的缺失值。 (缺少值sort編到數據集的末尾,例如。)

  3. 與最大值進行比較時,當心精度的問題。 (這裏不會記錄在這個答案,但search precision, faq導致許多討論。)

http://www.stata-journal.com/article.html?article=dm0055討論了相關技術。

(UPDATE)

聽起來

. bysort side condition (pressure) : gen rowmax = row[_N] 

. bysort side condition (pressure) : gen colmax = col[_N] 

有關by:的教程看到http://www.stata-journal.com/sjpdf.html?articlenum=pr0004這是一個鏈接到一個免費的.pdf你應該閱讀。和以前一樣,如果您在pressure上缺少值,您將需要一些不同的信息,因爲缺失將按sidecondition的每個塊的結尾排序。

+0

非常感謝尼克。我已經編輯了這篇文章,對我的原始問題有了更清楚的解釋。 – myth007 2013-04-05 07:17:32