LoslegenKostenlos loslegen

Vergleich der Fahrpreisverteilung nach Zahlungsart

Wir haben gesehen, dass es bei Barzahlungen kein Trinkgeld gibt. Bedeutet das, dass Personen, die bar zahlen, nicht tippen, oder dass Trinkgelder bei Barzahlung nicht erfasst werden? Für ähnliche Strecken würden wir erwarten, dass die Verteilungen des Gesamtfahrpreises unabhängig von der Zahlungsart identisch sind. In dieser Übung erstellen wir ein Quantildiagramm, das die Verteilung des Gesamtfahrpreises nach Zahlungsart vergleicht, und stellen dieses zusammen mit der ursprünglichen Darstellung in einer anderen Facette gegenüber.

Ein Datensatz amount_compare wurde für dich erstellt. Er enthält die Variablen payment_type, amount und amount_type. amount_type unterscheidet zwischen Werten, die eine Gesamtzahlung widerspiegeln, und Zahlungen ohne Trinkgeld.

Diese Übung ist Teil des Kurses

Big Data mit Trelliscope in R visualisieren

Kurs anzeigen

Anleitung zur Übung

  • Sieh dir vor der Bearbeitung der Aufgabe den Datensatz amount_compare an, indem du ihn in der Konsole ausgibst. So verstehst du seine Struktur und kannst die Plots besser spezifizieren.
  • Verwende geom_qq(), um ein Quantildiagramm des Gesamtfahrpreises amount zu erstellen. Gib unbedingt distribution = stats::qunif an.
  • Sorge dafür, dass separate Quantildiagramme für jede Zahlungsart erstellt werden, indem du nach Zahlungsart per color einfärbst, sodass jede Verteilung im selben Plot überlagert wird.
  • Zeige die Verteilungsvergleiche für jeden amount_type mittels Faceting.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

library(ggplot2)
library(dplyr)
library(tidyr)

# Get data ready to plot
amount_compare <- tx_pop %>%
  mutate(total_no_tip = total_amount - tip_amount) %>%
  select(total_amount, total_no_tip, payment_type) %>%
  pivot_longer(!payment_type, names_to = "amount_type", values_to = "amount")

# Quantile plot
ggplot(___, aes(sample = ___, color = ___)) +
  geom_qq(distribution = ___, shape = 21) +
  facet_wrap(~ ___) +
  ylim(c(3, 20))
Code bearbeiten und ausführen