Szukam informacji na temat sposobu, w jaki inni organizują swój kod R i dane wyjściowe.
Moja obecna praktyka polega na pisaniu kodu w blokach w pliku tekstowym jako takim:
#=================================================
# 19 May 2011
date()
# Correlation analysis of variables in sed summary
load("/media/working/working_files/R_working/sed_OM_survey.RData")
# correlation between estimated surface and mean perc.OM in epi samples
cor.test(survey$mean.perc.OM[survey$Depth == "epi"],
survey$est.surf.OM[survey$Depth == "epi"]))
#==================================================
Następnie wklejam dane wyjściowe do innego pliku tekstowego, zwykle z pewnymi adnotacjami.
Problemy z tą metodą to:
- Kod i dane wyjściowe nie są jawnie powiązane inaczej niż według daty.
- Kod i dane wyjściowe są uporządkowane chronologicznie, dlatego ich wyszukiwanie może być trudne.
Zastanawiałem się nad stworzeniem jednego dokumentu Sweave ze wszystkim, ponieważ mógłbym wtedy stworzyć spis treści, ale wydaje się, że może to być bardziej kłopotliwe niż korzyści, jakie by to zapewniło.
Daj mi znać o wszelkich skutecznych procedurach dotyczących organizacji kodu R i danych wyjściowych, które pozwoliłyby na wydajne wyszukiwanie i edycję analizy.
r
project-management
DQdlM
źródło
źródło
sink()
lubcapture.output()
mogą być Twoimi przyjaciółmi. Warto wziąć pod uwagę narzędzia do raportowania, takie jak Hmisc , Sweave lub napar (twój punkt 1). Systemy kontroli wersji ( rcs , svn lub git ) mogą pomóc w punkcie 2.sink()
icapture.output()
. To wspaniale.Odpowiedzi:
Nie jesteś pierwszą osobą, która zadaje to pytanie.
źródło
Dla jednego organizuję wszystko w 4 pliki dla każdego projektu lub analizy. (1) „kod” Gdzie przechowuję pliki tekstowe funkcji R. (2) „sql” Gdzie przechowuję zapytania użyte do zebrania moich danych. (3) „dat” Gdzie przechowuję kopie (zazwyczaj csv) moich nieprzetworzonych i przetworzonych danych. (4) „rpt” Gdzie przechowuję raporty, które rozpowszechniłem.
WSZYSTKIE moje pliki są nazywane przy użyciu bardzo szczegółowych nazw, takich jak „analiza_ sieci_abc_for_research_on_modified_buffer_19 maja2011”
Piszę również szczegółową dokumentację z góry, w której organizuję hipotezę, wszelkie założenia, kryteria włączenia i wyłączenia oraz kroki, które zamierzam podjąć, aby osiągnąć swój cel. Wszystko to jest nieocenione dla powtarzalnych badań i ułatwia mój roczny proces wyznaczania celów.
źródło
Teraz, kiedy zmieniłem na Sweave, nigdy nie chcę wracać. Zwłaszcza jeśli masz wykresy jako dane wyjściowe, o wiele łatwiej jest śledzić kod użyty do utworzenia każdego wykresu. Ułatwia także poprawianie jednej drobnej rzeczy na początku i powoduje, że faluje ona na wyjściu bez konieczności ręcznego ponownego uruchamiania.
źródło
.RData
pliku, do wprowadzenia przez dokument Sweave. Istnieje jednak kilka świetnych opcji „buforowania” wyników z fragmentu kodu, aby nie został ponownie uruchomiony.Do konstruowania pojedynczych plików kodu .R można również użyć strcode , dodatku RStudio, który utworzyłem, aby wstawiać separatory kodu (z opcjonalnymi tytułami) i na ich podstawie - uzyskiwać streszczenia plików kodu. Wyjaśniam jego użycie bardziej szczegółowo w tym poście na blogu .
źródło