Antes que nada decir que esta es mi primera consulta en el foro y también que acabo de descubrir esta increible aplicación, por lo que os pido paciencia y comprensión.
Lo que sí he podido entender es que las posibilidades son inmensas por lo que, por pedir que no quede.
Esta es mi consulta:
Tengo recopilados una cantidad inmensa de datos producto de muchos años de trabajo. En este gran data.frame tengo, entre otros 27 campos: fecha, sexo y edad.
Lo que quiero es crear automáticamente, matrices con los datos ya filtrados por esos 3 campos. Es decir:
filt2003H8 sería el subgrupo fecha=2003, sexo="H" y edad = 8
para así poder realizar pruebas o gráficas rápidamente llamando sólo a la matriz que contenga los datos requeridos.
la instrucción individual sería algo así:
filt2003H8<-subset(bigframe,an==2003&sex=="H"&ed==8)
Podéis pensar que podría crearlos a mano, uno a uno pero tengo datos de 15 años y de edades entre 6 y 14 años.
Otra posibilidad sería simplemente filtrar los datos cada vez que necesitara hacer algún cálculo con algún grupo pero me parece poco práctico.
Lo ideal sería una función con un bucle que creara las matrices y las almacenara en memoria para poder utilizarlas en cualquier momento.
He intentado crear la siguiente función para que me dé la matriz que quiero de forma más rápida pero no la almacena en memoria las matrices
submat<-function(an,sx,ed){
if(an==2002){prov<-eur2002}
...
if(an==2016){prov<-eur2016}
if(sx==0){vu<-subset(prov,prov$Sex=="M")}
if(sx==1){vu<-subset(prov,prov$Sex=="H")}
if(ed==6){fi<-subset(vu,vu$Edad>=6 & vu$Edad<=7)}
...
if(ed==15){fi<-subset(vu,vu$Edad>=15 & vu$Edad<=16)}
año<-prov
año_sex<-vu
año_sex_edad<-fi
}
Muchas gracias por vuestra ayuda.