-1
我期望爲重複成績,跳過成績或者有不同尋常成績進展(例如2008年4年級和2009年7年級)的學生創建標誌。我的數據在學生證歲的學科水平和獨特的結構是這樣的(儘管有多個變量):使用索引創建標誌
id year subject tested_grade
1 2011 m 10
1 2012 m 11
1 2013 m 12
2 2011 r 4
2 2012 r 7
2 2013 r 8
3 2011 m 6
3 2013 m 8
這是我使用的代碼:
sort id year grade
gen repeat_flag = .
replace repeat_flag = 1 if year!=year[_n+1] & grade==grade[_n+1] ///
& subject!=subject[_n+1] & id==id[_n+1]
replace repeat_flag = 0 if repeat_flag==.
的一個問題是有很多學生參加了六年級的考試,七年級沒有參加一次考試,然後參加了八年級的考試。由於某些學區在不同年級採用不同年級的考試,因此這在不同年級和學區之間有所不同。我的代碼沒有解釋這一點。
儘管我認爲必須有更優雅的方法來做到這一點,並作爲一個附註,我想知道索引的使用是否適合於這樣的問題。謝謝!
編輯 包括我的數據看起來像上面迴應下面的評論之一的示例。如果仍然不清楚歡迎任何反饋。
爲什麼投下了票?請給出一個理由,以便我可以進行更改以改善問題。 – otteheng
沒有被我低估,但我很難想象你的數據結構如何 - 讀者對你寫的內容的想象性解釋太多了 - 所以我不會冒你的問題的答案。要對downvote做出響應,您可以考慮查看幫助中心提出的問題中的信息,特別是http://stackoverflow.com/help/mcve – 2016-07-15 20:17:45
@WilliamLisowski感謝您的反饋。我會看看我能否以一種更清晰的方式重組問題。 – otteheng