Jan Kirenz - Deskriptive Statistik in R (2024)

In diesem Beitrag wird die Berechnung einfacher deskriptiver Statistiken und die Visualisierung von Verteilungen in R am Beispiel des Datensatzes “Advertising” behandelt.

Datenimport

  • Datensatz: Advertising.csv
  • Variablen: TV, radio, newspaper = jeweils Werbeausgaben in Dollar; sales = Produkte in Tausend Einheiten
  • Abhängige Variable (dependent variable, response): sales
  • Unabhängige Variablen (independent variables, predictors): TV, radio, newspaper, sales

Zunächts möchten wir uns einen Überblick über die Daten verschaffen. Dafür importieren wir die Daten und prüfen, ob die Skalenniveaus korrekt sind. Für die weiteren Berechnungen wird die Variable X1 nicht benötigt, weshalb wir diese löschen.

library(tidyverse)# Daten importierenAdvertising <- read_csv("https://raw.githubusercontent.com/kirenz/datasets/master/advertising.csv")# Überblick über die Daten verschaffen (Skalenniveaus prüfen)head(Advertising)
# A tibble: 6 × 5 Market TV radio newspaper sales <dbl> <dbl> <dbl> <dbl> <dbl>1 1 230. 37.8 69.2 22.12 2 44.5 39.3 45.1 10.43 3 17.2 45.9 69.3 9.34 4 152. 41.3 58.5 18.55 5 181. 10.8 58.4 12.96 6 8.7 48.9 75 7.2
# Bereinigung der DatenAdvertising$X1 <- NULL

Deskriptive Statistiken

Ausgabe unterschiedlicher deskriptiver Statistiken:

library(psych)psych::describe(Advertising) 
 vars n mean sd median trimmed mad min max range skewMarket 1 200 100.50 57.88 100.50 100.50 74.13 1.0 200.0 199.0 0.00TV 2 200 147.04 85.85 149.75 147.20 108.82 0.7 296.4 295.7 -0.07radio 3 200 23.26 14.85 22.90 23.00 19.79 0.0 49.6 49.6 0.09newspaper 4 200 30.55 21.78 25.75 28.41 23.13 0.3 114.0 113.7 0.88sales 5 200 14.02 5.22 12.90 13.78 4.82 1.6 27.0 25.4 0.40 kurtosis seMarket -1.22 4.09TV -1.24 6.07radio -1.28 1.05newspaper 0.57 1.54sales -0.45 0.37
  • Hinweise zu den Kennzahlen:
    • vars: Nummer der Variable
    • n: Anzahl der Beobachtungen
    • mean: arithmetischer Mittelwert
    • sd: empirische Standardabweichung
    • median: Median
    • trimmed: getrimmter Mittelwert
    • mad: Mittlere absolute Abweichung vom Median
    • min: kleinster Beobachtungswert
    • max: größter Beobachtungswert
    • range: Spannweite
    • skew: Schiefe
    • kurtosis: Wölbung
    • se = Standardfehler

Mittelwert

Bei der Berechnung des arithmetischen Mittelwerts in R sollte immer die Anweisung gegeben werden, fehlende Werte auszuschließen (na.rm = “remove values which are not available”). Ansonsten stoppt R bei fehlenden Werten die Berechnung und gibt eine Fehlermeldung aus.

mean_sales <- mean(Advertising$sales, na.rm = TRUE)print(paste0("Mittelwert der Variable Sales: ", mean_sales))
[1] "Mittelwert der Variable Sales: 14.0225"

Standardabweichung

Die Standardabweichung ist ein häufig verwendetes Streuungsmaß und beschreibt die mittlere Abweichung der einzelnen Messwerte vom empirischen Mittelwert. Die Standardabweichung ist die positive Wurzel der empirischen Varianz. Die Varianz einer Stichprobe wird wie folgt berechnet: \[s^{2} = \frac{\sum_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}\]

Berechnung der Standardabweichung: \[s = \sqrt{\frac{\sum\limits_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}}\]

var_sales <- var(Advertising$sales, na.rm = TRUE)print(paste0("Varianz der Variable Sales: ", round(var_sales, 2)))
[1] "Varianz der Variable Sales: 27.22"
sd_sales <- sd(Advertising$sales, na.rm = TRUE)print(paste0("Standardabweichung der Variable Sales: ", round(sd_sales,2)))
[1] "Standardabweichung der Variable Sales: 5.22"

Getrimmter Mittelwert

Bei dem getrimmten Mittelwert wird ein bestimmer Anteil der größten und kleinsten Beobachtungen - hier oberhalb des 90% Quantils und unterhalb des 10 % Quantils - ignoriert. Damit sollen Ausreißer aus der Berechnung des Mittelwerts ausgeschlossen werden. Der getrimmte Mittelwert kann wie folgt in R berechnet werden:

mean_trim_sales <- mean(Advertising$sales, trim = 0.1, na.rm = TRUE)print(paste0("Getrimmter Mittelwert der Variable Sales: ", round(mean_trim_sales, 2)))
[1] "Getrimmter Mittelwert der Variable Sales: 13.78"

Schiefe

Die Schiefe ist eine statistische Kennzahl, die die Art und Stärke der Asymmetrie einer Wahrscheinlichkeitsverteilung beschreibt. Sie zeigt an, ob und wie stark die Verteilung nach rechts (positive Schiefe) oder nach links (negative Schiefe) geneigt ist. Jede nicht symmetrische Verteilung heißt schief.

Darstellung der Verteilung in einem Histogramm:

library(ggplot2)# Vorlage für die Erstellung von plots in ggplot2 plot_1 <- theme_bw() + theme(axis.text.x = element_text(angle = 0, size = 8, family="Arial", colour='black'), axis.text.y = element_text(angle = 0, size = 8, family="Arial", colour='black'), axis.title = element_text(size=8, face="bold", family="Arial", colour='black'), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), plot.title=element_text(hjust=0, size=10, family="Arial", face="bold", colour='black'))ggplot(Advertising, aes(sales)) + geom_histogram(binwidth = 2, color="red", alpha=.2) + scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) + labs(title="Histogramm für Sales", x="Sales", y="Anzahl") + plot_1

Jan Kirenz - Deskriptive Statistik in R (1)

Darstellung der Verteilung in einer Dichtefunktion:

ggplot(Advertising, aes(sales)) + geom_density(fill="grey",alpha=.2 ) + geom_vline(aes(xintercept=mean(sales, na.rm=TRUE)), color="red", linetype="dotted", linewidth=0.6) + geom_vline(aes(xintercept=median(sales, na.rm=TRUE)), color="red", linetype="dotted", linewidth=0.6) + geom_text(aes(x=median(sales), y=0.02), colour = "grey", size =3,  label=round(mean(Advertising$sales), digits=2), hjust=-1, family="Arial") + geom_text(aes(x=mean(sales), y=0.02), hjust=-0.7, colour = "grey", size = 3, label="Mittelwert", family="Arial") + geom_text(aes(x=median(sales), y=0.005), colour = "grey", size =3,  label=round(median(Advertising$sales), digits=2), hjust=1 , family="Arial") + geom_text(aes(x=median(sales), y=0.01), colour = "grey", size = 3, label="Median", hjust=1, family="Arial") + labs(x="Produktabsatz (in Tausend Einheiten)", y = "Dichte", title = "Wahrscheinlichkeitsdichtefunktion") + plot_1

Jan Kirenz - Deskriptive Statistik in R (2)

In der Abbildung kann man erkennen, dass es sich um eine asymmetrische Verteilung handelt (d.h. es liegt eine Abweichung von der Normalverteilung vor). Konkret handelt es sich um eine rechtsschiefe Verteilung (Mittelwert > Median; Schiefe = + 0.40).

Kurtosis

Die Abweichung des Verlaufs einer Verteilung vom Verlauf einer Normalverteilung wird Kurtosis (Wölbung) genannt. Sie gibt an, wie spitz die Kurve verläuft. Unterschieden wird zwischen positiver, spitz zulaufender (leptokurtische Verteilung) und negativer, flacher (platykurtische Verteilung) Kurtosis. Die Kurtosis zählt zu den zentralen Momenten einer Verteilung, mittels derer der Kurvenverlauf definiert wird. Eine Kurtosis mit Wert 0 ist normalgipflig (mesokurtisch), ein Wert größer 0 ist steilgipflig und ein Wert unter 0 ist flachgipflig.

Standardfehler

Der Standardfehler ein Maß für die durchschnittliche Abweichung des geschätzten Parameterwertes vom wahren Parameterwert. Je kleiner der Standardfehler ist, desto genauer kann der unbekannte Parameter der Population mit Hilfe der Schätzfunktion geschätzt werden. Der Standardfehler hängt unter anderem von dem Stichprobenumfang und der Varianz ab. Allgemein gilt: Je größer der Stichprobenumfang, desto kleiner der Standardfehler; je kleiner die Varianz, desto kleiner der Standardfehler.

Jan Kirenz - Deskriptive Statistik in R (2024)
Top Articles
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 5247

Rating: 4 / 5 (51 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.