Ce que vous pourriez faire, c'est utiliser les idées d'ombrage résiduel de vcd ici en combinaison avec une visualisation à matrice clairsemée comme par exemple à la page 49 de ce chapitre du livre . Imaginez le dernier complot avec des nuances résiduelles et vous avez l'idée.
La matrice clairsemée / tableau de contiguïté contiendrait normalement le nombre d'occurrences de chaque médicament avec chaque effet indésirable. Cependant, avec l'idée de l'ombrage résiduel, vous pouvez configurer un modèle linéaire de journal de base (par exemple, un modèle d'indépendance ou tout ce que vous voulez) et utiliser le schéma de couleurs pour savoir quelle combinaison médicament / effet se produit plus souvent / moins souvent que le modèle ne le prédirait . Étant donné que vous avez de nombreuses observations, vous pouvez utiliser un seuil de couleur très fin et obtenir une carte qui ressemble à la façon dont les puces à ADN dans l'analyse des grappes sont souvent visualisées, par exemple ici(mais probablement avec des "dégradés" de couleurs plus forts). Ou vous pouvez construire les seuils de telle sorte que si les différences d'observations par rapport aux prévisions dépassent le seuil, il devient coloré et le reste reste blanc. Comment exactement vous feriez cela (par exemple, quel modèle utiliser ou quels seuils) dépend de vos questions.
Edit
Voici donc comment je le ferais (étant donné que j'aurais assez de RAM disponible ...)
- Créer une matrice clairsemée des dimensions souhaitées (noms de médicaments x effets)
- Calculer les résidus à partir du modèle log-linéaire d'indépendance
- Utilisez un dégradé de couleurs en résolution fine du min au maximum du résidu (par exemple avec un espace colorimétrique hsv)
- Insérez la valeur de couleur correspondante de la magnitude des résidus à la position correspondante dans la matrice clairsemée
- Tracez la matrice avec un tracé d'image.
Vous vous retrouvez ensuite avec quelque chose comme ça (bien sûr, votre image sera beaucoup plus grande et il y aura une taille de pixel beaucoup plus faible, mais vous devriez avoir l'idée. Avec une utilisation intelligente de la couleur, vous pouvez visualiser les associations / dérogations à l'indépendance que vous êtes le plus intéressé par).
Un exemple rapide et sale avec une matrice 100x100. Ce n'est qu'un exemple de jouet avec des résidus allant de -10 à 10 comme vous pouvez le voir dans la légende. Le blanc est nul, le bleu est moins fréquent que prévu, le rouge est plus fréquent que prévu. Vous devriez pouvoir avoir l'idée et la reprendre à partir de là. Edit: J'ai corrigé la mise en place de l'intrigue et utilisé des couleurs non violentes.
Cela a été fait en utilisant la image
fonction et cm.colors()
dans la fonction suivante:
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)
en utilisant des idées d'ici http://www.phaget4.org/R/image_matrix.html . Si votre matrice est si grande que la image
fonction devient lente, utilisez l' useRaster=TRUE
argument (vous pouvez également utiliser des objets Matrix épars; notez qu'il devrait y avoir une image
méthode si vous souhaitez utiliser le code ci-dessus, voir le package sparseM.)
Si vous faites cela, un ordre intelligent des lignes / colonnes peut devenir pratique, que vous pouvez calculer avec le paquet d'arules (consultez les pages 17 et 18 ou plus). Je recommanderais généralement les utilitaires d'arules pour ce type de données et de problème (non seulement la visualisation mais aussi pour trouver des modèles). Vous y trouverez également des mesures d'association entre les niveaux que vous pourriez utiliser au lieu de l'ombrage résiduel.
Vous voudrez peut-être également examiner des tableaux de vous qui ne veulent enquêter que sur quelques effets indésirables plus tard.