De nombreuses heures de fouilles maniaques et feuilletant la documentation de ggplot2 ne m'ayant pas rapproché, j'espérais que quelqu'un pourrait peut-être me pousser dans la bonne direction.Gigue parcelle dans ggplot2, couleur par 1 variable, nuance de couleur par une autre variable?
Je contiennent des données de comptage de cellules pour quelques milliers de sujets dans un data.frame avec la mise en page suivante:
- 1 sujet par ligne.
- 1 colonne par type de cellule (5 totaux, chacun contenant le pourcentage de ce type de cellule, somme de 100%).
- 2 colonnes supplémentaires, un pour indiquer ce groupe (expérimental ou de contrôle) les sujets appartiennent, 1 pour indiquer quelle expérience ils appartiennent à (1, 2, 3, 4, etc.)
Je Comme pour générer un tracé de gigue ggplot2, pourcentage le long de l'axe Y, les catégories de type de cellule le long de l'axe des X (5 au total) et colorer davantage les points de données en fonction de leur groupe (expérimental ou contrôle). Ce serait génial si je pouvais encore colorier les points de données de différentes expériences dans les nuances de la couleur du groupe (ie type de l'expérience de définir un gradient de la lumière à l'obscurité - tous les points de l'expérience 1 seraient légers - rouges ou bleus basés sur quel groupe ils appartenaient à), mais je ne sais pas si c'est même possible.
Pour commencer: mes données sont-elles correctement disposées pour tenter de créer cette intrigue? La raison pour laquelle je demande est que je me bats comme si je luttais avec ggplot2 pour essayer d'obtenir quelque chose avec le data.frame dans sa configuration actuelle (mais le natif boxplot() semble fonctionner correctement avec très peu de modifications ...)
Toute aide ou nudges dans la bonne direction serait grandement appréciée.
EDIT:
Ceci est la sortie de dput(head(dat, 10))
.
structure(list(Neutrophils = c(38, 70.7, 62.1, 90.5, 65.8, 39.2,
89.4, 91.3, 55.4, 14.5), Lymphocytes = c(47.5, 17.1, 20.3, 2,
25, 37.1, 6.3, 1.6, 31.3, 61.5), Monocytes = c(12.4, 11.8, 14.6,
4.8, 7.3, 14.1, 3.7, 4.6, 8.4, 21.9), Eosinophils = c(1.4, 0.1,
2.5, 2.4, 1.4, 9.2, 0.1, 2.5, 4.6, 1.3), Basophils = c(0.8, 0.3,
0.5, 0.3, 0.5, 0.4, 0.5, 0, 0.3, 0.8), Group = c(1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L)), .Names = c("Neutrophils", "Lymphocytes",
"Monocytes", "Eosinophils", "Basophils", "Group"), row.names = c("B145",
"B196", "B212", "B246", "B250", "B286", "B343", "B355", "B369",
"B386"), class = "data.frame")
Un bon moyen d'obtenir de l'aide consiste à fournir des exemples de données. Si vos données sont nommées dat, vous pouvez publier le résultat de dput (head (dat, 20)) –