Innholdsfortegnelse:
Video: Creating an XY Scatter Plot in Excel 2024
En veldig praktisk funksjon av ggplot2 er dens rekke funksjoner for å oppsummere R-dataene i plottet. Dette betyr at du ofte ikke må forhåndsoppsummere dataene dine. For eksempel angir høyden på stolper i et histogram hvor mange observasjoner av noe du har i dataene dine.
Den statistiske sammendraget for dette er å telle observasjonene. Statistikere henviser til denne prosessen som binning, og standardstatistikken for geom_bar () er stat_bin ().
Analogt med måten hver geom har en tilhørende standardstat, har hver stat også en standard geom.
Så spør dette spørsmålet: Hvordan bestemmer du om du skal bruke en geom eller en stat? I teorien spiller ingen rolle om du velger geom eller stat først. I praksis er det imidlertid ofte intuitivt å starte med en type plot først - med andre ord, spesifiser en geom. Hvis du vil legge til et annet lag med statistisk sammendrag, bruk en stat.
I dette diagrammet brukte du de samme dataene til å først lage en scatterplot med geom_point (), og deretter la du en jevn linje med stat_smooth ().
Se på noen praktiske eksempler på bruk av statfunksjoner.
Stat | Beskrivelse | Standard Geom |
---|---|---|
stat_bin () | Teller antall observasjoner i skuffene. | geom_bar () |
stat_smooth () | Oppretter en jevn linje. | geom_line () |
stat_sum () | Legger til verdier. | geom_point () |
stat_identity () | Ingen sammendrag. Plottdata som er. | geom_point () |
stat_boxplot () | Oppsummerer data for et boks-og-whisker-plott. | geom_boxplot () |
Slik lagrer du data i ggplot2 |
Du har allerede sett hvordan du bruker stat_bin () for å oppsummere dataene dine i skuffene, fordi dette er standardstatuen for geom_bar (). Dette betyr at følgende to kodelinjer gir samme plott: >> ggplot (skjelv, aes (x = dybde)) + geom_bar (binwidth = 50)> ggplot (skjelv, aes (x = dybde)) + stat_bin binwidth = 50)
Hvordan glatte R data i ggplot2
Ggplot2-pakken gjør det også veldig enkelt å lage regresjonslinjer gjennom dataene dine. Du bruker funksjonen stat_smooth () for å lage denne typen linje.
Den interessante tingen om stat_smooth () er at den bruker standard regresjon som standard. R har flere funksjoner som kan gjøre dette, men ggplot2 bruker loess () -funksjonen for lokal regresjon. Dette betyr at hvis du vil lage en lineær regresjonsmodell, må du fortelle stat_smooth () for å bruke en annen jevnere funksjon. Du gjør dette med metode argumentet.
For å illustrere bruken av en jevnere, begynn med å lage en spredningsdiagram for arbeidsledighet i longley datasettet: >> ggplot (longley, aes (x = År, y = Ansatt)) + geom_point ()
Neste, legg til en jevnere.Dette er like enkelt som å legge til stat_smooth () i din linje med kode. >> ggplot (longley, aes (x = År, y = Ansatt)) + + geom_point () + stat_smooth ()
Til slutt, fortell stat_smooth å bruke en lineær regresjonsmodell. Du gjør dette ved å legge til argumentmetoden = "lm". >> ggplot (longley, aes (x = År, y = Ansatt)) + + geom_point () + stat_smooth (metode = "lm")
Hvordan fortelle ggplot2 å la dataene dine være umummede
Noen ganger vil ikke at ggplot2 skal oppsummere dataene i plottet. Dette skjer vanligvis når dataene dine allerede er forhåndsoppsummerte eller når hver linje i datarammen må plottes separat. I disse tilfellene vil du fortelle ggplot2 å ikke gjøre noe i det hele tatt, og staten for å gjøre dette er stat_identity ().