Quando salvi un oggetto da R usando save(), cosa determina la dimensione del file salvato? Chiaramente non è la stessa (o vicina a) la dimensione dell'oggetto determinata da object.size().Cosa determina la dimensione di un oggetto salvato in R?
Esempio: Ho letto un frame di dati e salvati utilizzando
snpmat=read.table("Heart.txt.gz",header=T)
save(snpmat,file="datamat.RData")
La dimensione del file è datamat.RData 360MB.
> object.size(snpmat)
4998850664 bytes #Much larger
Poi eseguite alcune analisi di regressione ed ottenuto un'altra trama di dati di adj.snpmat stesse dimensioni (6820000 righe e 80 colonne).
> object.size(adj.snpmat)
4971567760 bytes
ho salvarlo utilizzando
> save(adj.snpmat,file="adj.datamat.RData")
Ora, la dimensione del file adj.datamat.RData è 3.3GB. Sono confuso perché i due file sono di dimensioni così diverse mentre object.size() fornisce dimensioni simili. Qualunque idea su cosa determina la dimensione dell'oggetto salvato è la benvenuta.
Qualche informazione in più:
> typeof(snpmat)
[1] "list"
> class(snpmat)
[1] "data.frame"
> typeof(snpmat[,1])
[1] "integer"
> typeof(snpmat[,2])
[1] "double" #This is true for all columns except column 1
> typeof(adj.snpmat)
[1] "list"
> class(adj.snpmat)
[1] "data.frame"
> typeof(adj.snpmat[,1])
[1] "character"
> typeof(adj.snpmat[,2])
[1] "double" #This is true for all columns except column 1
Il file '.Rdata' salvato è compresso e dovrebbe quindi essere più piccolo. Quanto più piccolo dipenderà dall'algoritmo di compressione e dai tuoi dati. – Andrie
Nel mio esempio, quale potrebbe essere la ragione? In altre parole, puoi dirmi quali aspetti dei dati influiscono su di esso? – Pratyay
@Pratyay Che cosa sai della compressione? Sarebbe probabilmente utile leggere su di esso in quanto sostanzialmente ciò che stai chiedendo. http://en.wikipedia.org/wiki/Data_compression – Dason