Comme on l'a souligné souvent en cours, on ne peut commencer une étude statistique sans visualiser correctement les données que nous avons à notre disposition. Cette session détaille les diverses commandes associées aux graphiques.
On commence par lire les données que nous allons étudier graphiquement:
> vessie = read.csv(file="vessie.csv",header=TRUE,sep=",")
Un "strip chart" est l'affichage le plus basique disponible sous R. Nous donnons un exemple avec les données du data frame "vessie" ainsi que pour la colonne "vessie$UBE2C".
Pour créer un tel affichage, il suffit d'utiliser la commande "stripchart":
stripchart(vessie$UBE2C)
Comme vous pouvez le constater, cette figure est assez nue ! Il n'y a pas de titre, les axes n'ont pas de nom etc .... Dans le cas où on souhaiterait visualiser les répétitions dans les données, ce qui peut arriver suivant le type de données qu'on est en train de traiter, il suffit de faire:
> stripchart(vessie$UBE2C,method="stack")
Voici une autre variation intéressante:
> stripchart(vessie$UBE2C,method="jitter")
Et encore une autre:
> stripchart(vessie$UBE2C,vertical=TRUE)
> stripchart(vessie$UBE2C,vertical=TRUE,method="jitter")
Voici maintenant comment insérer un titre et des noms pour les axes:
> stripchart(vessie$UBE2C,method="stack",
main='Gène UBE2C',
xlab='Expression')
Si vous avez déjà affiché quelque chose et que vous souhaitez ajouter un titre a posteriori, il suffit de faire:
> title('Gène UBE2C',xlab='Expression')
Si vous aviez déjà un titre et un nom pour les axes, cette dernire commande va tout simplement les remplacer par ce que vous avez proposé.
Il est très courant de vouloir afficher un histogramme. Rappelons que pour des données continues, l'histogramme donne pour un ensemble de classes prédéfinies, la proportion des données qui sont tombées dans chaque classe. Voici un exemple avec "w1$vals."
Pour afficher un histogramme, il suffit d'utiliser la commande "hist":
> hist(vessie$UBE2C)
Une des choses intéressantes à constater est que R propose automatiquement les intervalles associées aux classes qu'il est préférable d'utiliser pour les données que vous souhaitez analyser. Il y a en fait une multitude de stratégie pour calculer les classes de manière raisonnable:
> help(hist)
On peut spécifier à la main le nombre de classes:
> hist(vessie$UBE2C,breaks=2)
> hist(vessie$UBE2C,breaks=4)
> hist(vessie$UBE2C,breaks=6)
> hist(vessie$UBE2C,breaks=8)
> hist(vessie$UBE2C,breaks=12)
>
On peut aussi faire varier la taille du domaine en utilisant l'option "xlim". Cette option prend un vecteur à deux composantes qui spécifie la limite inférieure et la limite supérieure de l'intervalle que vous souhaitez diviser en classes:
> hist(vessie$UBE2C,breaks=12,xlim=c(0,10))
> hist(vessie$UBE2C,breaks=12,xlim=c(-1,2))
> hist(vessie$UBE2C,breaks=12,xlim=c(0,2))
> hist(vessie$UBE2C,breaks=12,xlim=c(1,1.3))
> hist(vessie$UBE2C,breaks=12,xlim=c(0.9,1.3))
>
Les options pour ajouter un titre et un nom pour les axes sont exactement les mêmes que pour les "strip charts". On peut procéder comme suit:
> hist(vessie$UBE2C,
main='Gène UBE2C',
xlab='Expression')
Si vous avez déjà affiché quelque chose, une façon simple d'ajouter un titre et un nom pour les axes est de faire comme suit:
> title('Gène UBE2C',xlab='Expression')
Notez que cette fonction ecrasera les anciens titres et nom d'axes au cas où vous en auriez déjà mis.
Un donne un graphique représentant la médiane, les quartiles, le maximum, le miinimum d'un échantillon. Nous présentons maintenant quelques exemplesavec deux jeux de données. Le premier est le data frame "w1" et en particulier "w1$vals." le second jeu de données est le data frame "tree" provenant du fichier "trees91.csv".:
> boxplot(vessie)
Comme il y a beaucoup de colonnes, il faut préciser quelles ensemble de
colonnes on veut afficher ... on peut le faire comme suit:
> boxplot(vessie[,15:20])
Pour connaître toutes les options associées à cette fonction, il suffit comme d'habitude de taper:
> help(boxplot)
La commande boxplot peut être utilisée pour représenter un box plot par niveau du facteur considéré. Prenons l'exemple suivant: les données sont donc dans "vessie$UBE2C" et les différents niveaux sont dans "vessie$Stade". La commande adéquate est alors:
boxplot(vessie$UBE2C~vessie$Stade)
Notez que pour le niveau 2, il y a des "outliers" qui sont représentés par un cerche. Il y a de nombreuses options différentes pour annoter les box plots. Pour en savoir plus, il faut consulter help(boxplot).
Un "scatter plot" donne une représentation graphique de la relation entre deux échantillons. Ici, nous donnons à nouveau un exemple issu du data frame "vessie". Affichons par exemple la relation entre le gène GEC1 et le gène UBE2C
La commande adéquate ici est tout simplement "plot":
> plot(vessie$GEC1,vessie$UBE2C)
L'étude des corrélations entre certaines variable est très intéressante dans de nombreuses facettes de l'analyse des données. Nous reviendrons notamment un peu plus loin sur la régression.
Nous pouvons comme d'habitude ajouter un titre et un nom pour les axes:
> plot(vessie$GEC1,vessie$UBE2C,
main="Relationship Between GEC1 and UBE2C",
xlab="GEC1",
ylab="UBE2C")