我想列舉一些條件數的記錄。問題:如果我在1/4或_n中使用< = 4,並且前4條記錄不符合條件,則不列出任何記錄。這裏是一個例子:Stata:只列出幾條條件的記錄
clear
input x
1
2
3
4
5
6
end
list if x > 4 & _n <= 3
list in 1/3 if x > 4
有沒有人有一個想法如何才能解決這個問題在一行? 感謝您的幫助。
我想列舉一些條件數的記錄。問題:如果我在1/4或_n中使用< = 4,並且前4條記錄不符合條件,則不列出任何記錄。這裏是一個例子:Stata:只列出幾條條件的記錄
clear
input x
1
2
3
4
5
6
end
list if x > 4 & _n <= 3
list in 1/3 if x > 4
有沒有人有一個想法如何才能解決這個問題在一行? 感謝您的幫助。
將下面的代碼放到一個名爲slist.ado的文件中Stata可以看到它的目錄(如〜/ ado/personal)。你可以用-adopath-命令找到這樣的目錄。
program define slist
version 12.1
syntax [varlist] [if], top(int)
#delimit;
tempvar tag;
gen `tag'=1 `if';
sort `tag';
list `varlist' `if' in 1/`top';
end;
語法是slist x if x>4, top(4)
。如果你不指定x,它會給你數據集中的所有變量。
非常感謝。我有點驚訝,我們必須爲自己編程這麼重要的功能。 – giordano
我必須說,在我作爲Stata用戶的12年中,我從來都不想做這樣的事情。 –
Nick Cox對此問題感興趣,並在Statalist上發佈了另一個解決方案:http://www.stata.com/statalist/archive/2012-11/msg00445.html –