Mam dwie zmienne: nazwę leku (DN) i odpowiadające im zdarzenia niepożądane (AE), które stoją w relacji wiele do wielu. Istnieje 33.556 nazw leków i 9.516 zdarzeń niepożądanych. Wielkość próby wynosi około 5,8 miliona obserwacji.
Chcę przestudiować i zrozumieć związek / relację między DN a AE. Zastanawiam się nad sposobem wizualizacji tego zestawu w R, ponieważ lepiej patrzeć na zdjęcia. Nie jestem pewien jak to zrobić ...
r
categorical-data
data-visualization
large-data
association-measure
użytkownik9292
źródło
źródło
Odpowiedzi:
To, co możesz zrobić, to wykorzystać pozostałe pomysły cieniowania z vcd tutaj w połączeniu z rzadką wizualizacją macierzy, jak na przykład na stronie 49 tego rozdziału książki . Wyobraź sobie tę ostatnią fabułę z resztkowymi cieniowaniami, a otrzymasz pomysł.
Rzadka matryca / tabela zakaźności normalnie zawierałaby liczbę wystąpień każdego leku przy każdym działaniu niepożądanym. Jednak dzięki pomysłowi cieniowania resztkowego możesz ustawić podstawowy logiczny model liniowy (np. Model niezależności lub cokolwiek innego, co chcesz) i użyć schematu kolorów, aby dowiedzieć się, która kombinacja leków / efektów występuje częściej / rzadziej niż przewidywałby model . Ponieważ masz wiele obserwacji, możesz użyć bardzo dokładnego progu kolorów i uzyskać mapę, która wygląda podobnie do tego, jak często wizualizowane są mikromacierze w analizie skupień, np. Tutaj(ale prawdopodobnie z mocniejszymi „gradientami”). Możesz też zbudować progi w taki sposób, że tylko wtedy, gdy różnice obserwacji względem prognoz przekroczą próg, wówczas kolor się przybierze, a reszta pozostanie biała. To, jak dokładnie to zrobisz (np. Jaki model zastosować lub jakie progi) zależy od twoich pytań.
Edytuj Więc oto jak bym to zrobił (biorąc pod uwagę, że mam wystarczającą ilość dostępnej pamięci RAM ...)
W efekcie powstaje coś takiego (oczywiście obraz będzie znacznie większy i rozmiar piksela będzie znacznie mniejszy, ale powinieneś pojąć ten pomysł. Dzięki sprytnemu użyciu koloru możesz wizualizować skojarzenia / odstępstwa od niezależności, na których jesteś najbardziej zainteresowany).
Szybki i brudny przykład z matrycą 100 x 100. To tylko przykład zabawki z resztkami od -10 do 10, jak można zobaczyć w legendzie. Biały jest zerowy, niebieski jest rzadszy niż oczekiwano, czerwony jest częstszy niż oczekiwano. Powinieneś być w stanie zdobyć pomysł i wziąć go stamtąd. Edycja: Poprawiłem ustawienia fabuły i użyłem kolorów bez przemocy.
Dokonano tego przy użyciu
image
funkcji icm.colors()
następującej funkcji:korzystając z pomysłów tutaj http://www.phaget4.org/R/image_matrix.html . Jeśli macierz jest tak duża, że
image
funkcja zwalnia, użyjuseRaster=TRUE
argumentu (możesz również użyć rzadkich obiektów Matrix; zwróć uwagę, że powinna istniećimage
metoda, jeśli chcesz użyć powyższego kodu, zobacz pakiet sparseM).Jeśli to zrobisz, przydatne może być sprytne uporządkowanie wierszy / kolumn, które możesz obliczyć za pomocą pakietu arules (sprawdź strony 17 i 18 lub więcej). Generalnie polecam narzędzia arules dla tego typu danych i problemów (nie tylko wizualizacji, ale także znajdowania wzorców). Znajdziesz tam również miary powiązania między poziomami, których możesz użyć zamiast resztkowego cieniowania.
Możesz także przyjrzeć się planom tabel, które później zbadasz tylko kilka działań niepożądanych.
źródło