Noter om R
Noter om R
Noter om R
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
18 Fra scripts til funktioner<br />
Når den samme type beregning skal udføres mange gange, eller man for eksempel skal lave mange<br />
beslægtede grafer, kan man gøre det ved i R Editor at kopiere det “script” (de linjer R-kode) s<strong>om</strong> udfører<br />
én udgave af beregningen og så lave de nødvendige ændringer for at det skal udføre en anden (og tredje,<br />
fjerde, . . . ) udgave af beregningen. Dermed får man et stort script sammensat af mange små næsten<br />
identiske scripts. Man kan imidlertid gøre det lettere og mere overskueligt for sig selv ved i stedet at<br />
definere en funktion med det grundlæggende script der udfører én beregning og så kalde den funktion<br />
hver gang, man har brug for beregningen. Dermed bliver hvad der ellers ville være et stort uoverskueligt<br />
script reduceret til én funktionsdefinition og et antal linjer med kald af funktionen.<br />
Ofte vil man arbejde på den måde at man i første <strong>om</strong>gang løser én udgave af problemet med helt<br />
konkrete tal og derefter med udgangspunkt i det R-script, man har skrevet, skriver en funktion der løser<br />
problemet “smartere”. De konkrete tal, man brugte i første <strong>om</strong>gang, ændrer man til parametre således at<br />
man kan variere dem når man kalder funktionen. At indkapsle beregningen i en funktion gør således at<br />
man kan parametrisere sin kode så den kan bruges til at løse mange forskellige udgaver af problemet.<br />
S<strong>om</strong> eksempel på en beregning man med fordel kan indkapsle i en funktion vil vi bruge fremskrivning<br />
med lineær afbildning s<strong>om</strong> blev udviklet for en model for kaninpopulation i afsnit 16.9. Her endte vi med<br />
at skulle igennem følgende trin for at definere modellen, fremskrive 20 år og opsamle resultaterne i en<br />
matrix V hvor hver søjle indeholder den fremskrevne population for et givet år:<br />
M