2014-02-15 861 views
0

我不知道Stata是否可以做到這一點,但我使用tabulate命令很多,以找到頻率。例如,我有一個取值爲0到1的成功變量,我想知道某個觀察組的成功率,即tab success if group==1。我想知道是否可以做這種操作的反面。也就是說,我想知道是否可以找到頻率大於或等於15%的「組」的值。Tabulate命令Stata

有沒有這樣的命令?

感謝

舉個例子

sysuse auto 
gen success=mpg<29 

現在我想找到價格值,使得成功變量的頻率比例如75%以上。

+0

你的問題包含了自己的答案。你可以做你知道該怎麼做,因爲你可以寫下一個條件,如果可以使用已知的變量和/或常數來解釋。所以,你需要能夠做到這一點。通常需要一些數據操作來達到這一點。根據細節,可能會有部分例外情況,例如查看SSC的'groups'。 –

+0

我不知道你說的是誠實的。我想知道是否有一個命令,而不是告訴我的頻率,我可以在頻率上,它會給我的價值。那可能嗎? – Pcarlitz

+0

我在說(例如)如果你有一個頻率變量,那麼你自然可以用這個變量指定一個條件。 「檢查SSC組羣」中哪部分你不明白? –

回答

1

根據@Nick:

ssc install groups 
sysuse auto 
count 
    74 
#return list optional 
local nobs=r(N) # r(N) gives total observation 

groups rep78, sel(f >(0.15*`r(N)')) #gives the group for which freq >15 % 

    +---------------------------------+ 
    | rep78 Freq. Percent % <= | 
    |---------------------------------| 
    |  3  30  43.48 57.97 | 
    |  4  18  26.09 84.06 | 
    +---------------------------------+ 
groups rep78, sel(f >(0.10*`nobs'))# more than 10 % 

    +----------------------------------+ 
    | rep78 Freq. Percent  % <= | 
    |----------------------------------| 
    |  2  8  11.59 14.49 | 
    |  3  30  43.48 57.97 | 
    |  4  18  26.09 84.06 | 
    |  5  11  15.94 100.00 | 
    +----------------------------------+ 
+0

感謝您推動這項工作。由於您創建了包含計數的本地宏'nobs',因此您應該使用它。至少在其他情況下,'r(N)'可以在單獨的命令後包含其他內容或根本不包含任何內容。另外'groups'可以讓你選擇百分比頻率。 –

+0

所以這只是列出了一個變量的頻率。我想知道如果我能找到一個成功變量的頻率發生在另一個變量的某個層次上。例如,變量rep78的值是多少,以致成功的頻率大於.15。 – Pcarlitz

+0

你需要在這裏定義什麼是成功率? – Metrics

1

我不確定我是否完全瞭解您的問題/情況,但我相信這可能會有用。你可以用egen這個等於成功的平均值的變量,然後看看哪些觀察值具有你正在尋找的平均值(成功)的值。

egen avgsuccess = mean(success), by(group) 
tab group if avgsuccess >= 0.15 
list group if avgsuccess >= 0.15 

這是否實現你想要的?