Ich habe einen Datenrahmen mit Panel-Daten und ich möchte alle vollständigen Beobachtungen basierend auf einem Formular erhalten.Erhalten Sie vollständige Fälle von Datenrahmen basierend auf Formular
Während das Extrahieren der Variablen aus der Formel ziemlich einfach ist (mit get_all_vars), möchte ich auch Dinge wie Verzögerungen (in diesem Fall aus dem dplyr-Paket) in Formeln einbauen.
Lassen Sie uns das Formular nehmen:
y ~ x1 + lag(x2, 1) + lag(x3, 2)
und den Datenrahmen
y x1 x2 x3
1 2 3 NA NA
2 3 2 2 2
3 2 6 5 3
4 5 8 6 9
5 1 3 7 4
6 1 0 1 2
Ich möchte so etwas bekommen:
y x1 x2 x3
1 2 3 NA NA
2 3 2 NA NA
3 2 6 2 NA
4 5 8 5 2
5 1 3 6 3
6 1 0 7 9
Am Ende möchte ich nutzen das schafft Dummies für die verschiedenen Zeiträume (und da mein Panel unausgewogen ist und seit einigen Jahren kein Fall mehr abgeschlossen ist, sie für alle Perioden zu erstellen funktioniert nicht).
Irgendwelche Vorschläge?
Sie verwenden können, 'model.matrix' statt' get_all_vars' erreichen. 'model.matrix (~ y + x1 + Verzögerung (x2, 1) + Verzögerung (x3, 2), Daten = df)' –
Danke, aber das ist nicht wirklich was ich will. Zuerst muss ich die Formel umschreiben (sonst bekomme ich keine), zweitens möchte ich die ganzen Daten einschließlich der Fälle mit NAs haben. Ansonsten ist es nicht so einfach, die Spalte mit den Jahren an den Datensatz zu binden und daraus die Dummies zu erstellen. Zusätzliche Frage: Passt das auf die Panel-Struktur? Z.B. wenn es um Verzögerungen geht. –
In diesem Fall denke ich nur daran, eine neue Variable für jeden der Begriffe in der Formel zu erstellen. –