Ich habe einen Datenrahmen, der "name"
der US-Präsidenten enthält, die Jahre, in denen sie im Amt beginnen und enden (Spalten "from"
und "to"
). Hier ist ein Beispiel:
... und die Ausgabe von dput
:
Ich möchte einen Datenrahmen mit zwei Spalten erstellen ( "name"
und "year"
), mit einer Zeile für jedes Jahr, in dem ein Präsident im Amt war. Daher muss ich für jedes Jahr eine regelmäßige Sequenz von " from
" bis "to"
erstellen. Hier ist meine erwartete:
Ich weiß, dass ich data.frame(name = "Bill Clinton", year = seq(1993, 2001))
verwenden kann, um Dinge für einen einzelnen Präsidenten zu erweitern, aber ich kann nicht herausfinden, wie ich für jeden Präsidenten iterieren soll.
Wie mache ich das? Ich fühle, dass ich das wissen sollte, aber ich zeichne ein Leerzeichen.
OK, ich habe beide Lösungen ausprobiert und erhalte einen Fehler:
%Vor% Sie können das Paket plyr
verwenden:
Wenn es wichtig ist, dass die Daten nach Jahr sortiert sind, können Sie die Funktion arrange
verwenden:
Edit 1: Nach dem "update 1" von @gitester ist es sinnvoller, adply
für Präsidenten mit nichtkonsequenten Begriffen zu verwenden:
Hier ist eine data.table
Lösung. Es hat die nette (wenn auch geringfügige) Eigenschaft, die Präsidenten in ihrer gelieferten Reihenfolge zu belassen:
Bearbeiten: Um Präsidenten mit nicht aufeinanderfolgenden Begriffen zu behandeln, verwenden Sie stattdessen Folgendes:
%Vor% Hier ist eine schnelle Basis- R
Lösung, wobei Df
Ihre data.frame
:
Es gibt einige Warnungen über Zeilennamen, scheint aber die korrekte data.frame
zurückzugeben.