J'ai deux variables: le nom du médicament (DN) et les événements indésirables (AE) correspondants, qui se trouvent dans une relation plusieurs à plusieurs. Il y a 33 556 noms de médicaments et 9 516 événements indésirables. La taille de l'échantillon est d'environ 5,8 millions d'observations.
Je veux étudier et comprendre l'association / la relation entre DN et AE. Je pense à une façon de visualiser cet ensemble en R car il vaut mieux regarder les images. Je ne sais pas trop comment m'y prendre ...
Réponses:
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 ...)
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 etcm.colors()
dans la fonction suivante: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 uneimage
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.
la source