Hola Miguel Ángel, creo que Carlos Ortega me ha dado una solución a mi problema con R...voy a probarlo... No sabía que había esa limitación en el tamaño del email, lo tendré en cuenta para la próxima.
Muchas gracias en cualquier caso Un saludo MªLuz Morales Dpto. Ciencias y Tecnología de la comunicación Universidad Europea de Madrid El 28 de mayo de 2015, 22:29, <miguel.angel.rodriguez.mui...@sergas.es> escribió: > Hola Mª Luz. > > Tu primer mensaje no ha llegado a la lista precisamente por el tamaño de > los ficheros adjuntos. Tienes un correo del administrador al respecto. > Al haber comentado tú misma ese mensaje, lo hemos podido leer todos pero > no tenemos acceso al fichero Set-A.zip y al Outcomes.csv. (creo recordar > que eran unos 9Mb entre los dos) > Podrías pensar en colgarlos en algún sitio (tipo DropBox o similar) y > compartir la URL. En caso de que tengas problemas envíame un correo e > intentaré ayudarte. > > > Un Saludo, > Miguel Rodríguez > Consellería de Sanidade > Xunta de Galicia > http://dxsp.sergas.es > > > ________________________________________ > De: R-help-es [r-help-es-boun...@r-project.org] en nombre de MªLuz > Morales [mlzm...@gmail.com] > Enviado: jueves, 28 de mayo de 2015 16:14 > Para: Carlos Ortega > CC: R-help-es@r-project.org > Asunto: Re: [R-es] La ejecución de mi script R es muy lenta > > Hola, > gracias por contestar tan rápido. > En el email he adjuntado los archivos seta y outcomes.csv, no me queda > claro como hacer para que podáis acceder a ellos de otra manera. > > El 28 de mayo de 2015, 15:53, Carlos Ortega <c...@qualityexcellence.es> > escribió: > > > Hola, > > > > Si no tienes inconveniente en compartir tu conjunto de datos (puedes > > dejarlo en un Dropbox y compartir enlace) o incluir una salida de la > > variables: "seta" y "outcomes" (función "save.image()") con eso podemos > > darte alguna solución mucho más rápida que la que planteas. > > > > En tu código con un bucle estás tratando de rellenar una lista que son > los > > diferentes agregados y esto se puede hacer mucho más rápido (segundos) > con > > varios paquetes: data.table, dplyr y sqldf. > > > > > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > El 28 de mayo de 2015, 15:34, <javier.ruben.marcu...@gmail.com> > escribió: > > > >> Estimada María Luz Morales > >> > >> > >> Puedes intentar con data.table y reemplazar for por algina otra opción > >> vectorizada, aunque en R moderno esto mejoró, y la posibilidad de > compile > >> debería ser evaluada. > >> > >> > >> > >> > >> > >> > >> Javier Rubén Marcuzzi > >> Técnico en Industrias Lácteas > >> Veterinario > >> > >> > >> > >> > >> > >> De: MªLuz Morales > >> Enviado el: jueves, 28 de mayo de 2015 10:21 a.m. > >> Para: R-help-es@r-project.org > >> > >> > >> > >> > >> > >> En el correo anterior se me olvidó mencionar que trabajo con Rstudio > >> > >> El 28 de mayo de 2015, 15:18, MªLuz Morales <mlzm...@gmail.com> > escribió: > >> > >> > Hola, > >> > soy nueva en esta lista y también en R. Yo he realizado un script en > R > >> > que carga dos archivos csv, uno de ellos con casi 2 millones de > filas. > >> El > >> > programa carga esos archivos a data frame, y se trata simplemente de > >> > seleccionar ciertos datos, hacer alguna operación (media, minimo, > >> máximo) > >> > y presentarlos en una tabla que tendrá 4000 filas. La ejecución de > este > >> > programa ha tardado casi 3 horas!!!!, podéis decirme si R es lento en > >> esta > >> > operación o es que mi código no está optimizado y no estoy haciéndolo > >> de la > >> > forma correcta. > >> > El código de mi programa es el siguiente: > >> > > >> > > >> > > >> > #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >> > ## Set-A.csv y Outcomes.csv deben estar en el directorio actual > >> > # Transforma csv a data frame > >> > seta <- read.csv('Set-A.csv'); > >> > outcomes <- read.csv('Outcomes-A.csv'); > >> > > >> > ids <- as.character(unique(outcomes$RecordID)); > >> > ## Número de RecordsID distintos > >> > Length_ids <- length(ids); #número de RecordsID distintos > >> > ListaABP <- list('RecordID'=-1,'SAPS.I'=-1, 'SOFA'=-1, 'Survival'=-1, > >> > 'In.hospital_death'=-1, 'NISysABP_Min'=-1,'NISysABP_Max'=-1, > >> > 'NISysABP_Mean'=-1, 'NIDiasABP_Min'=-1,'NIDiasABP_Max'=-1, > >> > 'NIDiasABP_Mean'=-1,'NIMAP_Min'=-1,'NIMAP_Max'=-1, 'NIMAP_Mean'=-1); > >> > for (i in 1:Length_ids){#NumRecordID){ # Para cada paciente... > >> > > >> > ListaABP$RecordID[i] <- outcomes$RecordID[i]; > >> > ListaABP$SAPS.I[i] <- outcomes$SAPS.I[i]; > >> > ListaABP$SOFA[i] <- outcomes$SOFA[i]; > >> > ListaABP$Survival[i] <- outcomes$Survival[i]; > >> > ListaABP$In.hospital_death[i] <- outcomes$In.hospital_death[i]; > >> > > >> > # Parameter == 'NISysBP' > >> > #seta_NISysABP <- seta[seta$RecordID == ids[i] & seta$Parameter == > >> > 'NISysABP' , c('RecordID','Value')] ; > >> > seta_NISysABP <- seta[seta$RecordID == ids[i] & seta$Parameter == > >> > 'NISysABP' , 'Value'] ; #Creo que esto ya no sería un dataframe, por > lo > >> que > >> > en la siguiente línea puede dar error > >> > ListaABP$NISysABP_Min[i] <- min(seta_NISysABP); > >> > ListaABP$NISysABP_Max[i] <- max(seta_NISysABP); > >> > ListaABP$NISysABP_Mean[i] <- mean(seta_NISysABP); > >> > > >> > # Parameter == 'NIDiasABP' > >> > #seta_NIDiasABP <- seta[seta$RecordID == ids[i] & seta$Parameter == > >> > 'NIDiasABP' , c('Time','Value')] ; #En este caso la forma de hacer el > >> min > >> > sería ...min(seta_NIDiasABP$Value); > >> > seta_NIDiasABP <- seta[seta$RecordID == ids[i] & seta$Parameter == > >> > 'NIDiasABP' , 'Value'] ; > >> > ListaABP$NIDiasABP_Min[i] <- min(seta_NIDiasABP); > >> > ListaABP$NIDiasABP_Max[i] <- max(seta_NIDiasABP); > >> > ListaABP$NIDiasABP_Mean[i] <- mean(seta_NIDiasABP); > >> > > >> > # Parameter == 'NIMAP' > >> > #seta_NIMAP <- seta[seta$RecordID == ids[i] & seta$Parameter == > >> 'NIMAP' > >> > , c('Time','Value')] ; > >> > seta_NIMAP <- seta[seta$RecordID == ids[i] & seta$Parameter == > >> 'NIMAP' , > >> > 'Value'] ; > >> > ListaABP$NIMAP_Min[i] <- min(seta_NIMAP); > >> > ListaABP$NIMAP_Max[i] <- max(seta_NIMAP); > >> > ListaABP$NIMAP_Mean[i] <- mean(seta_NIMAP); > >> > > >> > }#for i > >> > > >> > Tabla <- data.frame(ListaABP); > >> > > >> > > >> > > >> > #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >> > > >> > Gracias de antemano > >> > Un saludo > >> > MªLuz > >> > > >> > > >> > >> [[alternative HTML version deleted]] > >> > >> _______________________________________________ > >> R-help-es mailing list > >> R-help-es@r-project.org > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> [[alternative HTML version deleted]] > >> > >> _______________________________________________ > >> R-help-es mailing list > >> R-help-es@r-project.org > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> > > > > > > > > -- > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > ________________________________ > > Nota: A información contida nesta mensaxe e os seus posibles documentos > adxuntos é privada e confidencial e está dirixida únicamente ó seu > destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, > por favor elimínea. A distribución ou copia desta mensaxe non está > autorizada. > > Nota: La información contenida en este mensaje y sus posibles documentos > adjuntos es privada y confidencial y está dirigida únicamente a su > destinatario/a. Si usted no es el/la destinatario/a original de este > mensaje, por favor elimínelo. La distribución o copia de este mensaje no > está autorizada. > > See more languages: http://www.sergas.es/aviso_confidencialidad.htm > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es