data.table - Umwandeln von data.frame zu data.table

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
R007

data.table - Umwandeln von data.frame zu data.table

Beitrag von R007 »

Hallo,

ich habe eine kurze Verständnisfrage zu dem Umwandeln von data.frame zu data.table. Und zwar geht bei folgendem Code die Spalte mit den Bezeichnungen der Autos verloren. Kann das daran liegen, dass diese Spalte keine Überschrift enthält? Wenn das so ist, finde ich das Paket "dataets" nicht geeignet.

Code: Alles auswählen

library(datasets)

Data <- mtcars
Data

# convert to data.frame to data.table
library(data.table)
Data <- data.table(Data)
Data
Bei dem Data.Frame erhalte ich Spalte mit der Bezeichnung der Autos mit angezeigt:
1)
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

Bei der Data.Table wird die Spalte mit der Bezeichnung der Autos nicht mit angezeigt:
2)
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

Gruß
R007
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: data.table - Umwandeln von data.frage zu data.table

Beitrag von jogo »

R007 hat geschrieben:Hallo,

ich habe eine kurze Verständnisfrage zu dem Umwandeln von data.frame zu data.table. Und zwar geht bei folgendem Code die Spalte mit den Bezeichnungen der Autos verloren. Kann das daran liegen, dass diese Spalte keine Überschrift enthält? Wenn das so ist, finde ich das Paket "datasets" nicht geeignet.
Das "Fehlen der Überschriften" ist nur ein Zeichen dafür, dass es sich um die Benennungen der Zeilen handelt (rownames).
Der von Dir beobachtete Effekt müsste besser "Verlust der Zeilennamen" genannt werden.
Normalerweise ist dieser Verlust kein Problem, da die rownames normalerweise keine sinnhafte Information beinhalten. Wenn man sie trotzdem haben will, kann man sie vorher umspeichern mit M$Name <- rownames(M) oder:

Code: Alles auswählen

library(data.table)
M <- mtcars
setDT(M, keep.rownames=TRUE)
M
Gruß, Jörg
R007

Re: data.table - Umwandeln von data.frame zu data.table

Beitrag von R007 »

Vielen Dank für die Hilfe, mit

Code: Alles auswählen

setDT(Data, keep.rownames=TRUE)
klappt es perfekt!
Antworten