Nie wiem, jak nazywają się takie wątki, dlatego nadałem temu głupiemu tytułowi pytanie.
Powiedzmy, że mam uporządkowany zestaw danych w następujący sposób
4253 4262 4270 4383 4394 4476 4635 ...
Każdy numer odpowiada liczbie postów, które dany użytkownik wniósł do witryny. Badam empirycznie zdefiniowane tutaj zjawisko „nierówności w uczestnictwie” .
Aby ułatwić zrozumienie, chciałbym stworzyć fabułę, która pozwoli czytelnikowi szybko wydedukować stwierdzenia, takie jak „10% użytkowników przekazuje 50% danych”. Prawdopodobnie powinien wyglądać podobnie do tego, co jest dość kiepskie, szkicu:
Nie mam pojęcia, jak to się nazywa, dlatego nie wiem, gdzie szukać. Gdyby ktoś miał implementację R
, byłoby to niesamowite.
r
distributions
data-visualization
wnstnsmth
źródło
źródło
ecdf
wR
na początku. Termin ten to „empiryczna funkcja kumulatywnego rozkładu”. Mogą Cię również zainteresować „wykresy prawdopodobieństwa” i „wykresy QQ”: są to wersje ECDF pokazujące dane w różnych (nieliniowych) skalach.ecdf
i używałem go już wcześniej, ale w „klasyczny” sposób, że oś x pokazuje liczbę postów, a oś y ich prawdopodobieństwo. Nie wiem jak zrobić coś takiego jak wyżej.Odpowiedzi:
Jeśli chcesz to zrobić za pomocą podstawowych
R
poleceń, pomocne mogą być następujące kody.Najpierw czytasz dane.
Następnie możesz zobaczyć wkład każdego użytkownika.
Możesz także zobaczyć, ile wnoszą pierwsze dwie, trzy, cztery, ... siedem osób.
Wreszcie możesz uzyskać pożądany wykres (w proporcjach w obu osiach), wykonując następujące polecenia:
Osie oznaczyłem tak, jak chciałeś. Może dać ci jasny obraz tego, ile procent danych pochodzi od określonego odsetka osób.
źródło
Znalazłem sposób na szybką wizualizację krzywej Lorenza
ggplot2
, dzięki czemu grafika była bardziej estetyczna i łatwiejsza do interpretacji. Z tego ostatniego powodu odzwierciedlałem krzywą Lorenza na linii ukośnej, co skutkuje bardziej intuicyjną formą, jeśli mnie o to poprosicie. Zawiera także linie adnotacji, które powinny ułatwić wyjaśnienie fabuły (np. „5% użytkowników, którzy w największym stopniu przyczyniają się do utworzenia danych, stanowią 50% danych”). Uwaga: Znalezienie odpowiedniego miejsca dla linii adnotacji wykorzystuje dość idiotyczną heurystykę i może nie działać z mniejszym zestawem danych.Przykładowe dane:
Kod:
źródło
Dwa inne sposoby, aby to zrobić, ponieważ ostatnio pracowałem nad tym w badaniach klinicznych nad szczepionkami:
1.Użyj Hmisc Ecdf. Jest to proste i rysuje to, choć trochę trudno jest zrozumieć szczegóły dotyczące zmiany różnych elementów wykresu.
2. Obliczyć skumulowany rozkład, a następnie 1-skumulowany jest odwrotny kumulatywny. Wykreśl odwrotność za pomocą ggplot2, używając geom_step, jeśli podoba Ci się funkcja kroku na wykresie. Poniższa funkcja użyłaby ecdf z podstawy r, aby uzyskać rozkład skumulowany, a następnie 1-skumulowany:
w powyższym rcdf jest funkcją zdefiniowaną przez użytkownika zdefiniowaną za pomocą ecdf.
źródło