1 / 23

R / RStudio

R / RStudio. Intro til R / RStudio. R. R er et open source statstikprogram og programmerings-sprog introduceret i 1993. Seneste version er 2.15.3 R kan downloades på www.r-project.org R er i udgangspunktet uden peg-og-klik Mere end 2000 pakker (udvidelser a la et plug-in)

anka
Download Presentation

R / RStudio

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. R / RStudio Intro til R / RStudio

  2. R • R er et open source statstikprogram og programmerings-sprog introduceret i 1993. • Seneste version er 2.15.3 • R kan downloades på www.r-project.org • R er i udgangspunktet uden peg-og-klik • Mere end 2000 pakker (udvidelser a la et plug-in) • I det følgende tager vi udgangspunkt i Windows versionen. Der eksisterer versioner til Mac og Linux. • For at få en smartere brugerflade skal I også installere Rstudio.

  3. RStudio • Sådan ser RStudio typisk ud første gang man starter det. • Nederste vestre vindue er hvor man snakker direkte med R vha. tekst-kommandoer.

  4. RStudio – lidt opsætning • Det er nyttigt at ændre R’s standard-mappe. • Vælg Tools → Options • Under ‘Default workingdirectory..’ vælg den mappe hvor I vil gemme filer relateret til R (fx. data)

  5. Se data • I min arbejdsmappe har jeg en data-fil der hedder mikrosundhed.dat liggende. Findes også på kursussiden. • Hvis jeg åbner data-filen i Notepad ser den sådan ud: • Data består af 5 kolonner, der hver svarer til en variabel. • Bemærk: Variabelnavnet står øverst i række! • Luk Notepad igen – ellers går det bare galt ;-)

  6. Hent data ind i R • Vi er nu klar til vores første kommando! • På kommandolinjen skriv: mitdata = read.table("mikrosundhed.dat", header=TRUE) • Dette læser data-filen ind i en tabel med navnet mitdata. • Med tilføjelsen header=TRUEhar vi angivet at variabelnavne er angivet i øverste række (akaheader’en) i data-filen. • Hvis kommandoen er korrekt indtastet er der nu skabt et objekt med navnet mitdata, der indeholder data. • Workspace viser alle objekter.

  7. Sådan ser data ud • Vi kan se indholdet af data-objektet mitdata ved at klikke på

  8. Et hurtigt overblik • Man kan få en opsummering af tabellen vha. summary(mitdata) • Resultat: • For kategoriske variable: Frekvenser for hver kategori. • For kvalitative variable: Mindste værdi, 1. kvartil, median, middelværdi, 3. kvartil, største værdi, og antal manglende værdier. • NA = ”Not Available” – manglende observationer.

  9. Den enkelte variabel. • Man kan se hvilke variable tabellen indeholder vha: • Vi vil se nærmere på vægt. Vi kan se indholdet af søjlen med navnet vaegtfrem vha. mitdata$vaegt. Gør man det får man listet vægt for alle 2742 deltagere… lidt uoverskueligt! • Vi kan få et overblik over vægt vha.

  10. Spol frem og tilbage mellem plots Et par plot • Histogram • Boxplot

  11. Numeriske opsummeringer R vil ikke udregne gennemsnittet, når der mangler observationer. • Middelværdi • Percentiler (standarden er 0%, 25%, 50%, 75%, 100%) • Andre percentiler, fx. 5% og 95% • Standardafvigelsen

  12. Tabeller • Vi kan nemt skabe en (kontingens)tabel for Ryger og Køn: • > table(mitdata$koen,mitdata$ryger) Ryger Ryger ikke Kvinde 685 750 Mand 625 585 • Vi gemmer lige tabellen til senere • > tabel = table(mitdata$koen,mitdata$ryger)

  13. Marginale fordelinger • Vi kan tilføje de marginale fordelinger: • > addmargins(tabel) Ryger Rygerikke Sum Kvinde 685 750 1435 Mand 625 585 1210 Sum 1310 1335 2645

  14. Rækkefordeling i procent • Andelen af ryger/ryger ikke i hver række: • > prop.table(tabel,1) Ryger Ryger ikke Kvinde 0.4773519 0.5226481 Mand 0.5165289 0.4834711 • Sammen men i procent, så gang med 100: • > prop.table(tabel,1)*100 Ryger Ryger ikke Kvinde 47.73519 52.26481 Mand 51.65289 48.34711 Erstattes 1 med 2 får man fordelingen i hver søjle

  15. c2-test for uafhængighed • Vi kan nemt udføre et c2-test for uafhængighed: • > chisq.test(tabel) Pearson's Chi-squared test with Yates' continuity correction data: tabelX-squared = 3.8754, df = 1, p-value = 0.049 • Bemærk at R automatisk bruger Yates’ kontinuiteteskorrektion da vi her tester i en 2x2 tabel.

  16. Eksamensopgave: Goodness-of-fit

  17. Eksamensopgave i R • > data = c(265,115,44,85,55,7,136,313,76) > andele = c(0.248,0.095,0.049,0.092,0.05,0.008,0.123,0.268,0.067) > chisq.test(x=data,p=andele) Chi-squared test for given probabilities data: data X-squared = 7.2688, df = 8, p-value = 0.5079 • De forventede værdier er tilgængelige: • > chisq.test(x=data,p=andele)$expected [1] 271.808 104.120 53.704 100.832 54.800 8.768 134.808 293.728 73.432

  18. Eksamensopgave i R - igen • Beregn forventede værdier ”manuelt”> forventet = sum(data)*andele> forventet [1] 271.808 104.120 53.704 100.832 54.800 8.768 134.808 293.728 73.432 • Beregn teststørrelse> sum((data-forventet)^2/forventet) [1] 7.268769 • Find p-værdi> pchisq(7.268769,df=8,lower.tail=FALSE) [1] 0.5079317

  19. Eksamensopgave i R - plot • Plot a chi-i-anden- fordeling og teststørrelse • > curve(dchisq(x,df=8),0,20)> abline(h=0,v=7.268769) ## Tilføj linjer • Tilføj lidt farve: • > c = curve(dchisq(x,df=8),7.268769,20,add=TRUE) > polygon(c(c$x[1],c$x,tail(c$x,1)),c(0,c$y,0),col="skyblue")

  20. Simulation • Man kan nemt simulere fordelinger • > sim= rchisq(n=1000,df=8) > hist(sim) • Endnu et plot • > hist(sim,freq=FALSE) > curve(dchisq(x,df=8),0,30,add=TRUE) • Monte Carlo p-værdi • > mean(sim>=7.268769) [1] 0.506 • > abline(v=7.268769,lwd=2, col="red")

  21. R som regnemaskine • Almindelige udregninger> 4.7*(2+3)^4[1] 2937.5 • Skabe et (skalar)objekt og se indhold> a=4> a[1] 4 • Skab et (vektor)objekt og se indhold> b=c(2,5,7)> b[1] 2 5 7

  22. R som regnemaskine (fortsat) • R regner elementvis:> a*b[1] 8 20 28> a+b [1] 6 9 11> b^2[1]4 25 49 • Sum og produkt af elementer i vektor> sum(b) [1] 14> prod(b) [1] 70

  23. R hjælp • Man kan få hjælp vha. ?<kommando>> ?sum • Man kan få RStudio til at hjælpe med koammando-navne og options vha. Tab-knappen. • Man kan også søge efter hjælp vha. > help.search("plot")

More Related