Dobry sposób na wyświetlanie wielu danych w formie graficznej

15

Pracuję nad projektem, który obejmuje 14 zmiennych i 345 000 obserwacji danych mieszkaniowych (takich jak rok budowy, powierzchnia, sprzedana cena, okręg zamieszkania itp.). Niepokoję się próbą znalezienia dobrych technik graficznych i bibliotek R, które zawierają niezłe techniki kreślenia.

Już widzę, co w ggplot i sieci będą ładnie działały, i myślę o robieniu wykresów skrzypcowych dla niektórych moich zmiennych numerycznych.

Jakie inne pakiety poleciliby ludzie, aby wyświetlać dużą liczbę zmiennych liczbowych lub zmiennych typu czynnikowego w jasny, dopracowany i, co najważniejsze, zwięzły?

Christopher Aden
źródło
„jasny, dopracowany i, co najważniejsze, zwięzły” Brzmi dla mnie jak ggplot2.
Brandon Bertelsen
1
Szukam nie tylko bibliotek R, ale także wszelkich konkretnych typów wykresów. Moja wiedza na temat wykresów ogranicza się do rozproszenia, ramki, qq, histogramów, skrzypiec, szacunków gęstości jądra itp. Wszelkie nieco bardziej niejasne wykresy, które mogą ujawnić więcej danych niż te, byłyby fantastyczne.
Christopher Aden
2
współrzędne równoległe brzmią jak inne do wspomnienia. Pomocne mogą być również metody redukcji wymiarów.
Tal Galili

Odpowiedzi:

13

Najlepszy „wykres” jest tak oczywisty, że nikt jeszcze o nim nie wspominał: twórz mapy. Dane mieszkaniowe zależą zasadniczo od lokalizacji przestrzennej (według starej piły o nieruchomościach), więc pierwszą rzeczą do zrobienia jest stworzenie jasnej szczegółowej mapy każdej zmiennej. Aby zrobić to dobrze z jedną trzecią miliona punktów, naprawdę potrzebny jest system GIS o przemysłowej wytrzymałości, który może skrócić proces. Następnie sensowne jest kontynuowanie tworzenia wykresów prawdopodobieństwa i wykresów pudełkowych w celu zbadania rozkładów jednowymiarowych, a także w celu wykreślenia macierzy rozproszenia i wędrujących schematów pudełkowych itp. W celu zbadania zależności - ale mapy natychmiast podpowiedzą, co zbadać, jak modelować relacje danych i sposób podziału danych geograficznie na znaczące podzbiory.

whuber
źródło
Świetny pomysł! Mam już szerokości i długości geograficzne wszystkich punktów danych, więc takie zadanie byłoby względnie elementarne. Myślałem, że biblioteka map będzie dobrym rozwiązaniem, chyba że będzie coś lepszego.
Christopher Aden
2
@Christopher Możesz to również zrobić za pomocą ggplot2(zwłaszcza jeśli nie musisz rysować granic kraju), had.co.nz/ggplot2/coord_map.html . W przeciwnym razie maps, gmapssą lepsze. Istnieje również GeoXpinterfejs R do GRASS. BTW, Mondrian ma wtyczkę do danych geograficznych :)
chl
Przypisanie najlepszej odpowiedzi może być trudne, jeśli istnieje kilka świetnych sugestii, ale uważam, że jest to właściwy kierunek, pamiętając o „zwięzłości”. Wypróbuję ggplot2 i spojrzę na mapy, GeoXp i Mondrian. Dzięki za pomysł graficznego przestrzennego!
Christopher Aden
Miałem dobrą sukces lattice„s levelploti contourplot. Pakiet fieldsma kilka fajnych funkcji, w tym quiltplotktóre są przydatne, jeśli twoje dane nie są ściśle w siatce. Posiada również przyjemną funkcję splajnu cienkiej płyty Tpsdo wygładzania danych niesiatkowanych do siatki. Jeśli chodzi o dedykowane oprogramowanie GIS, GRASS jakoś nigdy nie ma dla mnie sensu, wolę QGIS.
Wayne
6

Polecam przyjrzeć się GGobi , który ma również interfejs R, przynajmniej do celów eksploracyjnych. Ma wiele wyświetlaczy graficznych, szczególnie przydatnych do radzenia sobie z dużą liczbą obserwacji i zmiennych oraz do łączenia ich ze sobą. Możesz zacząć od obejrzenia niektórych filmów w sekcji „Obejrzyj prezentację” na stronie Naucz się GGobi .

Aktualizacja

Linki do narzędzi Hadleya Wickhama dla GGobi, jak sugeruje chl w komentarzach:

  • DescribeDisplay „Pakiet R, który umożliwia odtworzenie grafiki ggobi w języku R”
  • klastra „Przeglądaj wyniki grupowania w dużych wymiarach”
  • rggobi „Pakiet R, który zapewnia łatwy interfejs z GGobi”
ARS
źródło
1
@ars Dodajmy narzędzia Hadleya R, aby zwiększyć doświadczenie GGobi, np . DescribeDisplayi clusterfly.
chl
Cześć ars, jak napisałem w odpowiedzi - moje doświadczenie z ggobi polega na tym, że nie radzi sobie dobrze z dużymi zestawami danych. Czy masz z tym inne doświadczenie?
Tal Galili
@Tal Problem wynika z nie polegania na glifie do wyświetlania / renderowania ekranu, który jest wspólny dla podstawowej grafiki R. Zostało to omówione na ostatniej konferencji DSC ( j.mp/bpOhBH ). W rzeczywistości trwa projekt z Qt jako backendem i nowym portem GGobi, aby poprawić interaktywne wyświetlanie dużych zestawów danych.
chl
1
@Tal: Z mojego doświadczenia wynika, że ​​jest dość powolny podczas odświeżania / odmalowywania widoków, np. Podczas dodawania zmiennej lub przeciągania w celu zmiany kolejności wyświetlania w PCP. Mimo to jest użyteczny, choć nie tak interaktywny, jak w przypadku dużych danych. @chl: To naprawdę dobrze wiedzieć, dzięki!
ars
1
@ars @Tal Oto linki do interfejsu Qt dla R ( j.mp/d1AJp7 ) i GGobi ( j.mp/cUOvfp ). Zobacz także repozytorium Github Hadleya!
chl
6

Czuję, że faktycznie zadajesz dwa pytania: 1) jakie rodzaje wizualizacji użyć i 2) jaki pakiet R może je wytworzyć.

W przypadku tego, jakiego typu wykresu użyć, jest wiele i zależy to od twoich potrzeb (np .: rodzaje zmiennych - liczbowe, czynnikowe, geograficzne itp. Oraz rodzaj połączeń, które chcesz wyświetlić):

Teraz odnośnie tego, jak to zrobić. Jednym problemem z wieloma punktami danych jest czas do utworzenia wykresu. ggplot2, iplots, ggobi nie są zbyt dobre dla zbyt wielu punktów danych (przynajmniej z mojego doświadczenia). W takim przypadku możesz skoncentrować się na podstawowych funkcjach graficznych w języku R lub spróbować swoich danych i użyć wszystkich innych narzędzi. Możesz też mieć nadzieję, że osoby opracowujące iplots extreme (lub Acinonyx ) przejdą do etapu wcześniejszej wersji.

Tal Galili
źródło
Dzięki za linki o rflowcyti Acinonyx.
chl
BTW, rflowcytzostał przestarzały w ostatnich wydaniach Bioconductor, teraz zaleca się jego stosowanie flowViz. W każdym razie oba polegają na lattice.
chl
Bardzo dokładna odpowiedź, Tal! Czas generowania fabuły nie powinien być wielkim problemem. Robiłem większość moich wykresów z pakietem podstawowym, a problem z ładniejszym wyglądem wykresów był, gdy zdecydowałem się użyć wykresu na papierze. Zastanawiałem się nad zastosowaniem macierzy wykresów rozrzutu dla zmiennych numerycznych, ale ponieważ wiele z nich ma różne jednostki (niektóre są w dolarach, inne w metrach kwadratowych), jedyną cenną informacją, którą otrzymam, będą ogólne trendy, ale z ~ 8 liczbami zmienne, SPM 8x8 jest nieco zaśmiecone.
Christopher Aden
3

Mondrian zapewnia interaktywne funkcje i obsługuje dość duże zestawy danych (choć jest to Java).

Paraview obejmuje 2D / 3D mianowicie. cechy.

chl
źródło
Dzięki za dwie nowatorskie biblioteki. Mój główny konflikt z tymi dwoma polega na tym, że przesyłam raport w formie papierowej, więc grafika interaktywna może nie być w pełni wykorzystana. Grafika Mondriana wygląda na dość złożoną. Spojrzę na to.
Christopher Aden
@Christopher Dla Mondriana masz „równoważną” wersję R iplotscytowaną przez @Tal. O Paraview możesz zapisać zrzut ekranu swojego viz. DescribeDisplayjest sposobem na eksportowanie dynamicznej wizualizacji z GGobi, cran.r-project.org/web/packages/DescribeDisplay/index.html .
chl
-3

Chciałbym zwrócić uwagę, Współrzędne równoległe: wizualna geometria wielowymiarowa i jej zastosowania , który zawiera najnowsze przełomy i zastosowania w tej dziedzinie.

Książkę chwalił między innymi Stephen Hawking. Powierzchnie są opisane (za pomocą dualności) ich normalnymi wektorami w swoich punktach. Zawiera aplikacje do kontroli ruchu lotniczego (automatyczne unikanie kolizji - 3 patenty USA), wyszukiwania danych na wielu zmiennych (w prawdziwych zestawach danych, z setkami zmiennych), optymalizacji wielu obiektów, kontroli procesu, inteligentnych monitorów intensywnej opieki, bezpieczeństwa, wizualizacji sieci i ostatnio dużych Dane.

Alfred Inselberg
źródło
5
Cześć Alfred, dzięki, że dołączyłeś do strony, to jednak wydaje się być trochę promocyjne. Być może masz przykład podobny do zestawu danych PO (14 zmiennych i 345 000 obserwacji), że możesz przedstawić obraz i opisać / zademonstrować, jak przydatne mogą być współrzędne równoległe? Wiele statycznych równoległych wykresów współrzędnych, które widziałem przy tak wielu obserwacjach, zwykle wygląda jak spaghetti na talerzu, podejrzewam jednak, że lepiej rozumiesz, jak zrozumieć takie duże dane N.
Andy W
Cześć Andy, nie mam przykładu z tyloma obserwacjami. W
Alfred Inselberg
Cześć Andy, nie mam przykładu z tyloma obserwacjami. Interaktywność jest niezbędna do eksploracji danych. Pracowałem nad zbiorem danych zawierającym około 800 zmiennych i 10 000 obserwacji w komórkowej sieci telefonicznej, aby odkryć „tajemnicze” awarie. Stosując klasyfikatory w sposób interaktywny i interaktywny, znaleziono 11 zmiennych odpowiedzialnych i śledząc je wstecz w czasie, wykryto nietypową aktywność w sieci 3-4 przed zauważeniem awarii.
Alfred Inselberg,