Wie man einen Datenrahmen von Grund auf neu in R erstellen

Die Umwandlung von einer Matrix zu einem Datenrahmen in R können einen Datenrahmen mit unterschiedlichen Typen von Werten zu konstruieren, verwendet werden. Wenn Sie beide numerischen und Zeichendaten in einer Matrix zum Beispiel kombinieren, wird alles zum Charakter umgewandelt werden.

Sie können einen Datenrahmen von Grund auf neu zu konstruieren, obwohl die Verwendung von data.frame () Funktion.

Machen Sie einen Datenrahmen aus Vektoren in R

Also, lassen Sie uns ein wenig Datenrahmen machen mit den Namen, Gehälter und Anfangsdaten von einigen imaginären Mitarbeiter. Zunächst erstellen Sie drei Vektoren, die die erforderlichen Informationen wie folgt enthalten:

> Mitarbeiter lt; - c ( "John Doe", "Peter Gynn ',' Jolie Hoffnung ')> Gehalt lt; - c (21000, 23400, 26800)> startdate lt; - as.Date (c ( "2010.11.01", "2008.03.25", "2007.03.14 '))

Jetzt haben Sie drei verschiedene Vektoren in Ihrem Arbeitsbereich:

  • EIN Zeichen Vektor namens Mitarbeiter, mit den Namen

  • EIN numerischen Vektor namens Gehalt, enthält die jährlichen Gehälter

  • EIN Datum Vektor namens Anfangsdatum, enthält die Daten, an denen die Verträge begonnen

Als nächstes verbinden Sie die drei Vektoren in einen Datenrahmen mit dem folgenden Code:

> employ.data lt; - data.frame (Mitarbeiter, Gehalt, startdate)

Das Ergebnis davon ist ein Datenrahmen, employ.data, mit folgendem Aufbau:

> Str (employ.data) 'data.frame': 3 obs. von 3 Variablen: $ Mitarbeiter: Faktor w / 3 Ebenen "John Doe", "Jolie Hope", ..: 1 3 2 $ Gehalt: num 21000 23400 26800 $ startdate: Datum, Format: "2010-11-01" " 2008-03-25 "...

Um eine Anzahl von Vektoren in einem Datenrahmen kombinieren, fügen Sie einfach alle Vektoren als Argumente für die data.frame () Funktion, die durch Kommas getrennt. R einen Datenrahmen mit den Variablen erstellen, die die gleichen wie die verwendeten Vektoren genannt werden.

Halten Sie Zeichen als Zeichen in R

Sie haben vielleicht etwas seltsam, wenn Blick auf die Struktur bemerkt employ.data. Während der Vektor Mitarbeiter ein Zeichen Vektor ist, gemacht R die Variable Mitarbeiter in die Daten einen Faktor umrahmen.

R tut dies standardmäßig, aber Sie haben ein zusätzliches Argument für die data.frame () Funktion, die diese vermeiden können - nämlich das Argument stringsAsFactors. In dem employ.data Beispielsweise können Sie die Transformation zu einem Faktor der verhindern Mitarbeiter Variable durch den folgenden Code:

> employ.data lt; - data.frame (Mitarbeiter, Gehalt, startdate, stringsAsFactors = FALSE)

Wenn man sich die Struktur des Datenrahmens nun betrachten, sehen Sie, dass die Variable Mitarbeiter wie in der folgenden Ausgabe gezeigt ist ein Zeichen, Vektor,:

> Str (employ.data) 'data.frame': 3 obs. von 3 Variablen: $ Mitarbeiter: chr "John Doe" "Peter Gynn" "Jolie Hope" $ Gehalt: num 21000 23400 26800 $ startdate: Datum, Format: "2010-11-01" "2008-03-25" .. .

Standardmäßig wandelt R immer Zeichenvektoren Faktoren, wenn ein Datenrahmen mit Zeichenvektoren zu schaffen oder eine Zeichenmatrix zu einem Datenrahmen umgewandelt werden. Dies kann eine böse Ursache für Fehler im Code, wenn Sie nicht wissen, es sind. Wenn Sie es sich zur Gewohnheit machen, immer geben Sie den stringsAsFactors Argument können Sie eine Menge Frustration zu vermeiden.

Menü