Można użyć coś jak for
pętli o zmiennej globalnej zmiany, które kontroluje miasto, które chcesz wpleść w raporcie; zobacz inne stanowisko Run Sweave or knitr with objects from existing R session
Kod będzie jak (załóżmy cities
jest wektorem charakter i używam pakiet knitr
jako przykład, ponieważ można określić nazwę pliku wyjściowego):
for (city in cities) {
knit('city_template.Rnw', output = paste('report_', city, '.tex', sep = ''))
}
Inside city_template.Rnw
, masz kawałek jak
<<do-my-job>>=
make_plot(city, ...)
whatever(city, ...)
@
Następnie otrzymasz serię plików tex nazwanych przez miasta, a reszta twojej pracy jest skompilować je do formatu PDF (nie możliwe do RStudio kompilować wiele plików tex, AFAIK, ale jest to proste, aby zrobić to w linii poleceń lub w R z texi2dvi()
).
Jest jedna rzecz, którą należy zachować ostrożność - do każdego pliku wyjściowego należy użyć prefiksu innej postaci (opcja fig.path
), w przeciwnym razie różne miasta mogą przesłonić swoje dane wyjściowe. W knitr
, można to zrobić przez tak:
<<setup, echo=FALSE>>=
opts_chunk$set(fig.path = paste('my-prefix-', city, sep = ''))
@
Wierzę, że to powinno być bezpieczne do produkcji wielu raportów z pętli.
Przy okazji, na pewno można osiągnąć ten sam cel za pomocą Sweave; być może dowiesz się, dlaczego później rozwinąłem knitr
(jest to poza tematem, więc nie będę tutaj rozbudowywał).
Można to zrobić za pomocą kombinacji i' brew' 'Sweave'. Spójrz na ten przykład tutaj http://stackoverflow.com/questions/8434371/run-sweave-lub-knitr-with-objects-from-ex-reisting-r-session/8437769#8437769. może napisać funkcję, która czyta "miasto" i kompiluje dokument do pdf, i przegląda miasta.) – Ramnath
Trzeba trochę rozszerzyć .Jak wybrać .Rnw wybrać miasto? Jaki system operacyjny używasz (ponieważ może to być łatwo skrypty w Linuksie)? Lub możesz użyć funkcji Sweave (plik) w R, ale musimy wiedzieć, jak zrobić .Rnw używać określonego zestawu danych. Być może trzeba użyć "naparu", aby utworzyć określony .Rnw z szablonu. A następnie kolejnym krokiem jest zrobienie pliku PDF -? Sweave sugeruje texi2dvi z pakietu narzędzi ... – Spacedman