Hallo zusammen,
ich arbeite mit europäischen Mikrodaten (EU-SILC) zum Thema Energiearmut im Mietsektor. Die entsprechende Energiearmutsvariable ener_poor ist binär codiert. Nun möchte ich mit prtest einen Einstichprobentest für einen Anteilswert durchführen, um die Hypothese zu überprüfen, dass der Anteil energiearmer Haushalte, die zur Miete wohnen, signifikant von dem Wert in der Grundgesamtheit abweicht und anschließend den p-wert in einer neuen Variable ikw_sign speichern. Dabei habe ich eine Variable tenure, die den Wohnstatus, eine Variable year, die das Beobachtungsjahr und eine Variable ctry, die das jeweilige Land der Beobachtung anzeigt. Die Datenstruktur sieht folgendermaßen aus:
ctry year tenure ener_poor ikw
1 2005 tenant 0 .0345208
1 2006 tenant 1 .0365275
1 2007 owner 0 .0279774
1 2009 tenant 1 .0346515
1 2012 owner 1 .0343459
1 2013 owner 1 .0321103
1 2006 tenant 0 .0365275
1 2007 owner 1 .0279774
1 2009 owner 0 .0346515
1 2010 tenant 0 .0367003
1 2011 owner 0 .0307313
1 2012 tenant 1 .0343459
1 2013 tenant 1 .0321103
1 2006 tenant 0 .0365275
1 2007 owner 0 .0279774
1 2010 owner 1 .0367003
1 2011 tenant 1 .0307313
1 2012 owner 0 .0343459
1 2013 owner 1 .0321103
1 2007 tenant 0 .0279774
1 2008 owner 0 .0451276
1 2009 tenant 0 .0346515
1 2010 owner 0 .0367003
1 2011 tenant 1 .0307313
Die Syntax für den Test für ein Jahr und ein Land ist mir klar und funktioniert auch soweit:
prtest ener_poor==.0345208 if ctry==1 & tenure==1 & year==2005
replace ikw_sign=r(p) if ctry==1 & tenure==1 & year==2005
Allerdings habe ich Daten für 27 Länder und bis zu 16 Jahre (2004-2020). Entsprechend würde ich das gerne in eine Schleife integrieren. Dabei habe ich die jeweiligen Antweilswerte in der Grundgesamtheit in einer Variable ikw abgespeichert und würde diese gerne daraus für den Anteilswerttest abrufen:
foreach x of varlist ctry{
forvalues i=2004(1)2020{
prtest ener_poor==ikw if ctry==`x' & tenure==1 & year==`i'
replace ikw_sign=r(p) if ctry==`x' & tenure==1 & year==`i'
}
}
Der Befehl funktioniert aber so nicht, da mit Blick auf die Syntax STATA hier davon ausgeht, dass es sich um einen Zweistichprobentest für einen Anteilswertvergleich mit zwei binär codierten Variablen handelt. Entsprechend bekomme ich eine Fehlermeldung, dass es sich bei ikw nicht um eine binär codierte Variable handelt. Hat jemand eine Idee, wie ich hier für ikw den jeweiligen Wert eingelesen bekomme, ohne dass STATA von einem Zweistichprobentest ausgeht und eine Fehlermeldung ausgibt?
Vielen Dank im voraus für eure Unterstützung!