Me gustaría guardar un montón de marcos de datos relativamente grandes al tiempo que minimizo el espacio que ocupan los archivos. Al abrir los archivos, necesito poder controlar qué nombres se les asignan en el espacio de trabajo.Guardar un marco de datos como un archivo binario
Básicamente estoy buscando la semántica de dput y dget pero con archivos binarios.
Ejemplo:
n<-10000
for(i in 1:100){
dat<-data.frame(a=rep(c("Item 1","Item 2"),n/2),b=rnorm(n),
c=rnorm(n),d=rnorm(n),e=rnorm(n))
dput(dat,paste("data",i,sep=""))
}
##much later
##extract 3 random data sets and bind them
for(i in 1:10){
nums<-sample(1:100,3)
comb<-rbind(dget(paste("data",nums[1],sep="")),
dget(paste("data",nums[2],sep="")),
dget(paste("data",nums[3],sep="")))
##do stuff here
}
Buena respuesta Shane. Me gustaría utilizar 'guardar', pero no me gusta el hecho de que no puedo controlar el nombre de los datos al cargar –
Puede ajustar la función load() en una nueva función que conoce el nombre de los datos en el archivo y le cambia el nombre por un valor de retorno. La función de carga insertará las variables en el entorno/espacio de nombres de la función. – Harlan
Puede hacer lo que Harlan sugirió, o simplemente puede guardar un marco de datos por archivo y dar el mismo nombre al archivo y al marco de datos. Entonces usted tendrá el mismo comportamiento que describió anteriormente con dput y dget, ¿verdad? – Shane