Programmering i R

Föreläsning 7: Grafik, Linjär regression, statistik

Josef Wilzén

STIMA, Linköpings universitet

Uppdaterad 2017-03-07 09:21:47

Föreläsning 7: Innehåll

  • Interaktiv återkoppling
  • ggplot2
  • Statistik, Linjär regression
  • Miniprojektet

Interaktiv återkoppling

Se separat fil.

ggplot2

ggplot2

  • Baserad på ”Grammar of Gaphics” av Leland Wilkinson
  • Skapad av Hadley Wickham
  • Alternativ till basgrafiken
  • http://ggplot2.org
  • Har egenskapar från basgrafiken men skiljer sig
  • Utgår alltid från en data.frame

ggplot2

“Grammatik för grafik”

  • Abstraktioner av grafiska idéer. Jmf med ordklasser/satsdelar i språk
  • Ger ett teoretiskt fundament för hur grafik kan skapas
  • Fördjupning: http://ggplot2.org/book/

ggplot2

  • Bygger upp en graf av flera delar
    • data: en data.frame med all data
    • geom: geometriska objekt
    • aes: aesthteic mappings (färger, former)
    • facets: skapar subplottar baserat på villkor
    • scales: skalor för aesthteic mappings
    • coordinate system
  • ggplot2 bygger upp en plot med olika lager, när plotten är klar så visas plotten genom att anropa print()

ggplot2

”In brief, the grammar tells us that a statistical graphic is a mapping from data to aesthetic attributes (colour, shape, size) of geometric objects (points, lines, bars). The plot may also contain statistical transformations of the data and is drawn on a specific coordinate system.”

Från “ggplot2 book” av Hadley Wickham

geom

  • Vilken geometrisk representation ska användas
geom Beskrivning
geom_point Scatterplot
geom_line Line graph
geom_bar Barplot
geom_boxplot Boxplot
geom_histogram Histogram

aes

  • Kopplar färg, form och utseende till data
aes Beskrivning
x x-axel
y y-axel
size storlek
col färg
shape form

aes och geoms

  • Finns även speciella aestetics för viss geoms
geom aes
geom_points point shape, point size
geom_line line type, line size
geom_bar y min, y max, fill color, outline color

Exempel

ggplot(data=Nile) + aes(x=years, y=level) + geom_point()

plot of chunk unnamed-chunk-2

Exempel

ggplot(data=Nile) + aes(x=years, y=level) + geom_line()

plot of chunk unnamed-chunk-3

Exempel

p <- ggplot(data=Nile) + aes(x=years, y=level, color=period) + geom_line(aes(type=period)) + geom_point(aes(shape=period))
p

plot of chunk unnamed-chunk-4

Exempel: Teman

p + theme_bw()

plot of chunk unnamed-chunk-5

Exempel: Teman

p + theme_classic()