Bonsoir à tous,
J'ai 2 questions graphiques sur R:
1- Faire un boxplot associé à la représentation des points individuels "éclatés"
J'ai découvert pour cela le package beeswarm. Voici un lien avec 2 exemples que j'ai essayé https://denishaine.wordpress.com/201...-with-ggplot2/
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 beeswarm(time_survival ~ event_survival, data = breast2, pch = 16, pwcol = as.numeric(ER), xlab = '', ylab = 'Follow-up time (months)', labels = c('Censored', 'Metastasis')) boxplot(time_survival ~ event_survival, data = breast2, add = T, names = c("",""), col="#0000ff22") legend('topright', legend = levels(breast$ER), title = 'ER', pch = 16, col = 1:2)
Ce sont 2 exemples du site que j'ai plus ou moins réussi à adapter à mon cas et dont les sorties graphiques sont disponibles en suivant le lien ci-dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 beeswarm <- beeswarm(time_survival ~ event_survival, data = breast, method = 'swarm', pwcol = ER)[, c(1, 2, 4, 6)] colnames(beeswarm) <- c("x", "y", "ER", "event_survival") library(ggplot2) library(plyr) beeswarm.plot <- ggplot(beeswarm, aes(x, y)) + xlab("") + scale_y_continuous(expression("Follow-up time (months)")) beeswarm.plot2 <- beeswarm.plot + geom_boxplot(aes(x, y, group = round_any(x, 1, round)), outlier.shape = NA) beeswarm.plot3 <- beeswarm.plot2 + geom_point(aes(colour = ER)) + scale_colour_manual(values = c("black", "red")) + scale_x_continuous(breaks = c(1:2), labels = c("Censored", "Metastasis"), expand = c(0, 0.5))
Par contre dans mon cas l'équivalent de la variable ER a trois modalités pour lesquelles j'ai un code couleur défini à suivre.
Et dans ces 2 codes je ne trouve pas le moyen d'attribuer une couleur spécifique à chacune des modalités de cette variable.
Quelqu'un aurait - il la solution?
Autre tentative: utilisation du package beeswarm tout seul, avec 6 subsets de ma base et une couleur par groupe. Mais là je n'arrive pas à afficher le boxplot correspondant par dessus: je n'ai pas de message d'erreur mais je n'ai pas non plus de boxplot... est-ce parce que ce n'est pas le même data partout?...
voici le code correspondant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 beeswarm(A_1$C,method="swarm",at=0.1,pch=19, ylim=c(12,33),xlim=c(0.05,0.25), col="gold2") beeswarm(A_2$C,add=T,method="swarm",at=0.1,pch=1, ylim=c(12,33),xlim=c(0.05,0.25), col="blue") beeswarm(A_3$C,add=T,method="swarm",at=0.102,pch=1, ylim=c(12,33),xlim=c(0.05,0.25), col="green") beeswarm(D_1$C,add=T,method="swarm",at=0.202,pch=20, ylim=c(12,33),xlim=c(0.05,0.25), col="gold2") beeswarm(D_2$C,add=T,method="swarm",at=0.2,pch=1, ylim=c(12,33),xlim=c(0.05,0.25), col="blue") beeswarm(D_3$C,add=T,method="swarm",at=0.2,pch=1, ylim=c(12,33),xlim=c(0.05,0.25), col="green") boxplot (C~O, data=data,main="CT at D0", add=T)
2- Courbes de survie
a- je ne comprends pas très bien la différence entre survfit et npsurv (package rms)?
b- avec la fonction "classique" plot (survfit (...)) j'arrive assez bien à maîtriser les IC des courbes de KM. Par contre les nb de sujets à risque au cours du temps ne sont pas indiqués "automatiquement"; avec la fonction survplot
-- je n'arrive pas à utiliser survplot (survfit (...)) : pourquoi? seul survplot (npsurv(...)) fonctionne.
-- avec survplot (npsurv(...)) on peut ajouter l'option n.risk. Par contre je n'arrive plus à faire apparaître les IC, malgré les options adéquates ...
Merci beaucoup, sincèrement, si quelqu'un peut me dépanner!!
Merci pour votre aide par avance,
AE
Partager