konvertieren von Daten.frame-Daten.Tabelle Spalte fehlt
Hatte einen Fall wie diesen. Versucht zu konvertieren "mtcars" Klasse von Daten.frame-Daten.Tabelle.
"mtcars" Daten:
> mtcars
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Ursprünglichen Klasse ist-Daten".Rahmen".
> str(mtcars)
'data.frame': 32 obs. of 11 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp: num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec: num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear: num 4 4 4 3 3 3 3 4 4 4 ...
$ carb: num 4 4 1 1 2 1 4 2 2 4 ...
Konvertieren zu Daten.Tabelle. Finden Sie die Spalte für die Auto-Marken verschwunden sind. Warum? So behalten Sie die Spalte von Marken?
> mtcars2 <- data.table(mtcars)
> mtcars2
mpg cyl disp hp drat wt qsec vs am gear carb
1: 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
2: 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
3: 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Möchte Daten haben.Tabelle mit den endgültigen Daten im format wie unten-eine NEUE Spalte mit dem Namen "Brands" für die erste Spalte von Marken. Wie Sie code zum hinzufügen der Spalte "Marken" aus dem ursprünglichen "mtcars" dataset?
Brands mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist die rownames, die fehlen, nicht eine der Spalten.
Wenn Sie möchten, dass Marken als eine Spalte, ist die manuelle Ansatz:
Abwechselnd:
Allerdings bedeutet dies nicht, machen Sie die resultierenden Daten.Tabelle haben die alten rownames, es macht einfach eine Spalte für Sie, als "rn". Dies ist in der Dokumentation
?data.table
.Alternativ ändern Sie die Tabelle in
DF = mtcars
:Kleiner Punkt: wir nicht
setDT(mtcars, ...)
, damtcars
ist eine integrierte Tabelle.data.table(mtcars, keep.rownames = "Brands")
wenn Sie möchten, wählen Sie einen anderen Namen als default "rn". (CRAN version 1.10.4 derdata.table
verwendet).