Tworzenie histogramów za pomocą R
Podczas badania zbioru danych, często będziesz chciał szybko zrozumieć rozkład pewnych zmiennych numerycznych w nim zawartych. Popularnym sposobem wizualizacji rozkładu pojedynczej zmiennej numerycznej jest użycie histogramu. Histogram dzieli wartości zmiennej numerycznej na „biny” i liczy liczbę obserwacji, które mieszczą się w każdym z nich. Poprzez wizualizację tych zliczeń w sposób kolumnowy, możemy uzyskać bardzo bezpośrednie i intuicyjne poczucie rozkładu wartości w obrębie zmiennej.
Ten przepis pokaże Ci, jak przejść do tworzenia histogramu przy użyciu R. Konkretnie, będziesz używał funkcji hist() i ggplot2.
W naszym przykładzie, będziesz wizualizował rozkład czasu trwania sesji dla strony internetowej. Kroki w tym przepisie są podzielone na następujące sekcje:
- Przetwarzanie danych
- Odkrywanie danych & Przygotowanie
- Wizualizacja danych
W tym przykładowym raporcie Mode można znaleźć implementacje wszystkich kroków opisanych poniżej. Zaczynajmy.
Przetwarzanie danych
Użyjesz SQL do przetwarzania danych, które będą potrzebne do naszej analizy. W tym przykładzie użyjemy zbioru danych sessions
dostępnego w Publicznym Magazynie Danych Mode. Używając przeglądarki schematów w edytorze, upewnij się, że źródło danych jest ustawione na źródło danych Publicznego Magazynu Danych Mode i uruchom następujące zapytanie, aby uzyskać dane:
`select *from modeanalytics.sessions`
Po zakończeniu działania zapytania SQL zmień nazwę zapytania SQL na Sessions
tak, abyś mógł je łatwo zidentyfikować w notatniku R.
Eksploracja danych & Przygotowanie
Teraz, gdy masz już swoje dane, możesz przejść do notatnika R, aby przygotować je do wizualizacji. Tryb automatycznie umieszcza wyniki zapytań SQL w ramce danych R przypisanej do zmiennej datasets
. Możesz użyć następującej linii R, aby uzyskać dostęp do wyników zapytania SQL jako ramki danych i przypisać je do nowej zmiennej:
`sessions <- datasets]`
Wizualizacja danych
Aby utworzyć histogram, użyjemy funkcji R hist()
. Ponieważ interesuje nas tylko wizualizacja rozkładu zmiennej session_duration_seconds
, przekażemy nazwę kolumny do funkcji hist()
, aby ograniczyć wizualizację do interesującej nas zmiennej:
`# Using hist() function in base graphics to make a histogramhistinfo=hist(sessions$session_duration_seconds, main="Histogram with Default Parameters")`
Wygląd histogramu można jeszcze bardziej dostosować do własnych potrzeb, dostarczając funkcji hist()
dodatkowe parametry:
`hist(sessions$session_duration_seconds, main="Adding grid lines and ticks", xlab="Session Duration (in seconds)", ylab= "Count", xlim=c(0,55), ylim=c(0, 49000), col="lightgrey")axis(4, labels=FALSE, col = "lightgrey", lty=2, tck=1)`
Możesz również użyć natywnej funkcji tworzenia histogramów w ggplot2, aby tworzyć i stylizować histogramy w R z dodatkowymi funkcjami, takimi jak estymacja gęstości jądra:
`p <- ggplot(sessions, aes(x=session_duration_seconds)) + geom_histogram(aes(y=..density..), # Histogram with density instead of count on y-axis binwidth=2, colour="black", fill="white") + geom_density(alpha=.3, fill="#32CD32")p + labs(x = "Session Duration (in seconds)", y = "Density", title = "Density Curve using ggplot2") + coord_fixed(ratio = 100)ggsave("ggtest.png", p, width = 5, height = 8, dpi = 1200)`