Was Sie tun können, ist die Verwendung der Restschattierungsideen von vcd hier in Kombination mit der Visualisierung mit spärlicher Matrix, wie z. B. auf Seite 49 dieses Buchkapitels . Stellen Sie sich das letztere Diagramm mit Restschattierungen vor und Sie bekommen die Idee.
Die Tabelle mit der spärlichen Matrix / Kontingenz würde normalerweise die Anzahl der Vorkommen jedes Arzneimittels mit jeder nachteiligen Wirkung enthalten. Mit der Restschattierungsidee können Sie jedoch ein lineares Grundlinienmodell (z. B. ein Unabhängigkeitsmodell oder was auch immer Sie sonst möchten) erstellen und anhand des Farbschemas herausfinden, welche Arzneimittel- / Wirkungskombination häufiger / seltener auftritt, als das Modell vorhersagen würde . Da Sie viele Beobachtungen haben, können Sie eine sehr feine Farbschwelle verwenden und eine Karte erhalten, die der Darstellung von Microarrays in der Clusteranalyse ähnelt, z. B. hier(aber wahrscheinlich mit stärkeren Farbverläufen). Oder Sie können die Schwellenwerte so erstellen, dass nur dann, wenn die Unterschiede zwischen Beobachtungen und Vorhersagen den Schwellenwert überschreiten, dieser farblich hervorgehoben wird und der Rest weiß bleibt. Wie genau Sie dies tun würden (z. B. welches Modell oder welche Schwellenwerte), hängt von Ihren Fragen ab.
Bearbeiten
Also hier ist, wie ich es machen würde (vorausgesetzt, ich hätte genug RAM zur Verfügung ...)
- Erstellen Sie eine dünne Matrix mit den gewünschten Dimensionen (Medikamentennamen x Effekte)
- Berechnen Sie die Residuen aus dem loglinearen Unabhängigkeitsmodell
- Verwenden Sie einen Farbverlauf in feiner Auflösung vom Minimum bis zum Maximum des Rests (z. B. mit einem HSV-Farbraum).
- Fügen Sie den entsprechenden Farbwert der Residuengröße an der entsprechenden Position in die dünne Matrix ein
- Zeichnen Sie die Matrix mit einem Bilddiagramm.
Sie erhalten dann so etwas (Ihr Bild ist natürlich viel größer und hat eine viel geringere Pixelgröße, aber Sie sollten die Idee haben. Mit einer geschickten Verwendung von Farben können Sie die Assoziationen / Abweichungen von der Unabhängigkeit, die Sie am meisten sind, visualisieren interessiert an).
Ein schnelles und schmutziges Beispiel mit einer 100x100 Matrix. Dies ist nur ein Spielzeugbeispiel mit Residuen zwischen -10 und 10, wie Sie in der Legende sehen können. Weiß ist Null, Blau ist weniger häufig als erwartet, Rot ist häufiger als erwartet. Sie sollten in der Lage sein, die Idee zu verstehen und von dort zu übernehmen. Bearbeiten: Ich habe die Einstellungen des Plots korrigiert und gewaltfreie Farben verwendet.
Dies wurde mit der image
Funktion und cm.colors()
in der folgenden Funktion durchgeführt:
ImagePlot <- function(x, ...){
min <- min(x)
max <- max(x)
layout(matrix(data=c(1,2), nrow=1, ncol=2), widths=c(1,7), heights=c(1,1))
ColorLevels <- cm.colors(255)
# Color Scale
par(mar = c(1,2.2,1,1))
image(1, seq(min,max,length=255),
matrix(data=seq(min,max,length=255), ncol=length(ColorLevels),nrow=1),
col=ColorLevels,
xlab="",ylab="",
xaxt="n")
# Data Map
par(mar = c(0.5,1,1,1))
image(1:dim(x)[1], 1:dim(x)[2], t(x), col=ColorLevels, xlab="",
ylab="", axes=FALSE, zlim=c(min,max))
layout(1)
}
#100x100 example
x <- c(seq(-10,10,length=255),rep(0,600))
mat <- matrix(sample(x,10000,replace=TRUE),nrow=100,ncol=100)
ImagePlot(mat)
Verwenden von Ideen von hier http://www.phaget4.org/R/image_matrix.html . Wenn Ihre Matrix so groß ist, dass die image
Funktion langsam wird, verwenden Sie das useRaster=TRUE
Argument (möglicherweise möchten Sie auch spärliche Matrix-Objekte verwenden; beachten Sie, dass es eine geben sollteimage
geringer Dichte verwenden. Methode wenn Sie den Code von oben verwenden möchten. Weitere Informationen finden Sie im sparseM-Paket.)
In diesem Fall kann eine geschickte Reihenfolge der Zeilen / Spalten hilfreich sein , die Sie mit dem Paket arules berechnen können ( siehe Seite 17 und 18 oder so). Ich würde generell die arules-Dienstprogramme für diese Art von Daten und Problemen empfehlen (nicht nur zur Visualisierung, sondern auch zum Auffinden von Mustern). Dort finden Sie auch Assoziationsmaße zwischen den Ebenen, die Sie anstelle der Restschattierung verwenden könnten.
Vielleicht möchten Sie sich auch Tabellen mit Grafiken ansehen, von denen Sie später nur ein paar nachteilige Auswirkungen untersuchen möchten.