Wenn x
ein Datenrahmen ist, wie viel zusätzlichen Arbeitsspeicher muss für die folgenden Vorgänge benötigt werden?Wie viel Speicher verwendet as.data.table?
y <- as.data.table(x) #1
x <- as.data.table(x) #2
Wenn x
ein Datenrahmen ist, wie viel zusätzlichen Arbeitsspeicher muss für die folgenden Vorgänge benötigt werden?Wie viel Speicher verwendet as.data.table?
y <- as.data.table(x) #1
x <- as.data.table(x) #2
Die mem_used
, mem_change
Funktionen von pryr
verwendet werden.
library(pryr)
df1 <- data.frame(v1 = 1:1e6, v2 = rnorm(1e6))
mem_used()
#38.8 MB
mem_change(dt <- as.data.table(df1))
#12.1 MB <---
mem_change(setDT(df1))
#94.1 kB <---
Ich habe 12.1 MB in einer neuen Konsole statt 6.42 kB – user3226167
@ user3226167 Ich verwende 'data.table1.10.0'. Jetzt bekomme ich 12,1 MB, vielleicht war die Sitzung früher mit anderen Objekten. Auch mit 'setDT', ist es in' kB' – akrun
Ich finde auch, dass das Auslassen der Zeile 'mem_used()' ändert das Ergebnis – user3226167
Nachdem diese Daten und Tabelle laden, können Sie memory.size() verwenden Sie Speicher zu überprüfen, können Sie auch durch memory.limit() bei Bedarf Ihre sys-Speicher ändern.
Sie 'mem_used' verwenden können,' mem_change' von 'pryr' – akrun
@akrun Dank, dachte ich' as.data.table' tut 'setDT' wenn ich verwenden # 2 – user3226167
die' Set' Funktionen sind sehr effizient – akrun