R speichern Sie die Ausgabe der Tabelle() in a data frame
Habe ich folgende Daten Rahmen:
id<-c(1,2,3,4,1,1,2,3,4,4,2,2)
period<-c("first","calib","valid","valid","calib","first","valid","valid","calib","first","calib","valid")
df<-data.frame(id,period)
Eingabe
table(df)
Ergebnisse in
period
id calib first valid
1 1 2 0
2 2 0 2
3 0 0 2
4 1 1 1
aber wenn ich speichern Sie es als ein Daten-frame 'df'
df<-data.frame(table(df))
format 'df' sein würde, wie
id period Freq
1 1 calib 2
2 2 calib 1
3 3 calib 1
4 4 calib 0
5 1 first 1
6 2 first 2
7 3 first 0
8 4 first 0
9 1 valid 0
10 2 valid 0
11 3 valid 2
12 4 valid 3
wie kann ich diese vermeiden, und wie kann ich die erste Ausgabe so, wie es in einem Daten-frame?
wichtiger ist es eine Möglichkeit, um das gleiche Ergebnis mit 'dcast'?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würde dies helfen?
Erarbeiten gerade ein wenig. Ich habe geändert, die ids in der Beispiel-Daten.Rahmen, so dass Sie Ihre ids sind nicht 1:4, um zu beweisen, dass die ids sind getragen in der Tabelle und sind nicht eine Folge der Reihe zählt.
Erstellen der neuen Daten.Rahmen gibt es zwei Möglichkeiten. rengis Antwort ist in Ordnung für 2-Spalte Daten-frames, die die id-Spalte zuerst. Es wird nicht so gut funktionieren, wenn Ihre Daten-Frames mit mehr als 2 Spalten, oder wenn die Spalten in einer anderen Reihenfolge.
Alternative wäre, geben Sie die Spalten und die Reihenfolge der Spalten für Ihre Tabelle:
den
id
Spalte enthalten ist, in die neue Daten.Rahmen alsrow.names(df3)
. Hinzufügen einer neuen Spalte: