Ich habe ein unausgeglichenes Panel mit 3 Kennungen (Datum, Firma und Person) für die ich Rolling Mittel für meine Variable (price
) über die letzten 90 Tage für jedes Unternehmen und berechnen möchte Datum. Als ich das Panel mit tsset
belegte bekomme ich eine Fehlermeldung repeated time values within panel
. Da jede Person in meinem Panel zu mehreren Unternehmen gehört, habe ich mehrere Unternehmen-Personen-Paare für jedes Datum. Hier ist mein Code so weit:Rolling Mean für Panel mit 3 Bezeichnern in Stata
tsset company_id date_id
tsegen Mean_90days = rowmean(L(0/90).price)
Gibt es eine Möglichkeit, wie eine solche Berechnung zu machen?
Meine Lösung war eine company_person_id
mit group(company_id person_id)
zu erzeugen, für jede company_person_id date
Beobachtung zu berechnen bedeuten und egen=mean()
bedeuten zu verwenden by (company_id date_id)
zu aggregieren. Ich bin mir jedoch immer noch nicht sicher, ob es plausibel ist.
Ihre zweistufige Lösung scheint vernünftig zu sein, weil es so funktioniert, aber es gibt einen direkteren Weg: siehe meine Antwort. –
Eigentlich wäre die Problemumgehung problematisch, wenn man nicht die Tatsache berücksichtigt, dass unterschiedliche Mittelwerte über (Unternehmens-, Personen-) Paare auf einer unterschiedlichen Anzahl von Messungen basieren könnten. Die richtige Umgehung wäre ein gewichtetes Mittel. –
Ja, du hast Recht @Nick Cox - ein gewichtetes Mittel ist in meinem Fall besser. – In777