Att organisera ett projekt

Defensiv R-programmering

Dr. Colin Gillespie

Jumping Rivers

Det börjar i liten skala

Alla R-analyser börjar litet, men sedan

  • 1 rad blir 10
  • 1 importerat paket blir 5
  • 1 fil blir ett kaos
Defensiv R-programmering

Projektstruktur

Varje projekt jag arbetar med

  • Har en egen katalog
  • Har ett logiskt namn

Katalognamnet ger kontexten för skripten

Defensiv R-programmering

Katalog: input/

Den här katalogen innehåller data, vanligtvis

  • csv- och excelfiler
  • Ingen R-kod

Data redigeras bara i R

Defensiv R-programmering

Katalog: R/

All R-kod finns i den här katalogen

Observera att katalogen inte heter

  • R_analysis
  • R_code
  • R_survival

utan helt enkelt R/

Defensiv R-programmering

Katalog: R/

I den här katalogen har jag alltid en fil som heter

  • load.R

Den filen läser in data från input/

Varje projekt jag arbetat med har en liknande struktur

  • Jag kan ge dig vilket projekt som helst och du kan läsa in datan

Defensiv R-programmering

Filen load.R

Alla sökvägar är relativa

battles <- read_csv("input/battles.csv")
foes <- read_xlsx("input/foes.xlsx")

Min kod är portabel

Defensiv R-programmering

Övriga R-filer

Kom ihåg: alla R-filer finns i katalogen R!

  • clean.R - för att rensa datan
  • function.R - hjälpfunktioner
  • analysis.R - själva analysen

Standardnamn som används i varje projekt

Defensiv R-programmering

Nu kör vi en övning!

Defensiv R-programmering

Preparing Video For Download...