Qualcuno ha saggezza sui flussi di lavoro per l'analisi dei dati relativi alla scrittura di report personalizzati? Il caso d'uso è sostanzialmente questo:
Il cliente commissiona un rapporto che utilizza l'analisi dei dati, ad esempio una stima della popolazione e mappe correlate per un distretto idrico.
L'analista scarica alcuni dati, mescola i dati e salva il risultato (ad es. Aggiungendo una colonna per popolazione per unità o sottoponendo i dati in base ai confini del distretto).
L'analista analizza i dati creati in (2), si avvicina al suo obiettivo, ma vede che ha bisogno di più dati e quindi torna a (1).
Risciacquare ripetizione fino a quando le tabelle e la grafica non soddisfano il QA / QC e soddisfano il cliente.
Scrivi un rapporto che includa tabelle e grafici.
L'anno prossimo il cliente felice ritorna e desidera un aggiornamento. Questo dovrebbe essere semplice come aggiornare i dati a monte con un nuovo download (ad esempio ottenere i permessi di costruzione dall'ultimo anno) e premere un pulsante "Ricalcola", a meno che le specifiche non cambino.
Al momento, ho appena avviato una directory e ad hoc la migliore possibile. Vorrei un approccio più sistematico, quindi spero che qualcuno l'abbia capito ... Uso un mix di fogli di calcolo, strumenti SQL, ARCGIS, R e Unix.
Grazie!
PS:
Di seguito è riportato un Makefile di base che verifica le dipendenze da vari set di dati intermedi (con .RData
suffisso) e script ( .R
suffisso). Make utilizza i timestamp per controllare le dipendenze, quindi, se lo fai touch ss07por.csv
, vedrà che questo file è più recente di tutti i file / destinazioni che dipendono da esso ed esegue gli script forniti per aggiornarli di conseguenza. Questo è ancora un lavoro in corso, incluso un passaggio per l'inserimento nel database SQL e un passaggio per un linguaggio di modello come sweave. Nota che Make si basa sulle schede nella sua sintassi, quindi leggi il manuale prima di tagliare e incollare. Divertiti e dai un feedback!
http://www.gnu.org/software/make/manual/html_node/index.html#Top
R = / home / wsprague / R-2.9.2 / bin / R persondata.RData: ImportData.R ../../DATA/ss07por.csv Functions.R $ R --slave -f ImportData.R persondata.Munged.RData: MungeData.R persondata.RData Functions.R $ R --slave -f MungeData.R report.txt: TabulateAndGraph.R persondata.Munged.RData Functions.R $ R --slave -f TabulateAndGraph.R> report.txt