Lassen Sie mich meine Frage zu klären. Hier ist der Python-Code:Wie erstelle ich ein Stata lokales Makro in Python?
decade_begin = 1970
while decade_begin <= 1994:
for x in range(0, 10):
a= decade_begin + x
decade_begin = a+1
decade_end=a
print "year_",decade_begin,"s" #start year
Der Ausgang der letzten Zeile ist:
year_1980s
year_1990s
Ich möchte eine Variable erstellen können, so dass:
year_1990s = [a]
In Stata dieser ist ziemlich einfach, mit einem lokalen Makro `x '. Aber in Python denke ich, dass das Mischen von String und int in einem Variablennamen nicht erlaubt ist.
forval i = 1979/1994 {
whatever if year == `i'
save year_`i'.dta, replace
}
Irgendwelche Ideen zur Implementierung in Python?
Für diejenigen, die vertraut mit Python, aber nicht mit STATA, könnten Sie erklären, was 'x 'tut? Meinst du etwas wie [Format Literale] (http://stackoverflow.com/documentation/python/1019/string-formatting/4021/format-literals#t=201611212058243848285)? –
Ich denke, es heißt ein lokales Makro in STATA. Die einfachste Erklärung, die ich gefunden habe, ist hier: https://www.ssc.wisc.edu/sscc/pubs/stata_prog1.htm – Carla
Es ** wird ** ein lokales Makro genannt. Das ist ziemlich explizit an der Quelle http://www.stata.com/help.cgi?foreach Aber ich bezweifle, dass die Kenntnis der Stata [NB] -Technologie hilft, die Python-Frage zu beantworten, bei der es sich um eine Frage handelt, wie man eine Liste durchläuft. –