qplotR - STID 2ème annéelibrary(ggplot2)
library(reshape2) # pour les données tips
Nous répondons aux questions suivantes avec la fonction qplot()
Dans les données iris, représenter les boîtes à moustaches des 4 variables pour les trois espèces.
m = melt(iris)
## Using Species as id variables
qplot(Species, value, data = m, facets = variable ~ ., geom = "boxplot")

tips du package reshape2, représenter total_bill en fonction de sex et smoker.qplot(sex, total_bill, data = tips, facets = ~ smoker, geom = "boxplot")

t = aggregate(total_bill ~ sex + smoker, tips, mean)
qplot(sex, smoker, data = t, fill = total_bill, geom = "bin2d")

tips, représenter total_bill et tip, en fonction de sex de 2 façonsqplot(total_bill, tip, data = tips, color = sex)

qplot(total_bill, tip, data = tips, color = sex, facets = ~ sex)

qplot(cut(total_bill, 3), tip, data = tips, color = sex, facets = ~ sex, geom = "boxplot")

smoker en plusqplot(total_bill, tip, data = tips,
color = sex, shape = smoker,
facets = smoker ~ sex)

qplot(cut(total_bill, 3), tip, data = tips,
color = sex, geom = "boxplot",
facets = smoker ~ sex)

bonus : à partir des données anscombe, refaire le graphique suivant
ans1 = transform(setNames(subset(anscombe, select = c(x1, y1)), c("x", "y")), ex = 1)
ans2 = transform(setNames(subset(anscombe, select = c(x2, y2)), c("x", "y")), ex = 2)
ans3 = transform(setNames(subset(anscombe, select = c(x3, y3)), c("x", "y")), ex = 3)
ans4 = transform(setNames(subset(anscombe, select = c(x4, y4)), c("x", "y")), ex = 4)
ans = rbind(ans1, ans2, ans3, ans4)
qplot(x, y, data = ans, facets = ~ ex, geom = "point")

Avec un peu de programmation (pour information)
ans.bis = lapply(1:4, function (ex) {
return(transform(setNames(anscombe[,paste(c("x", "y"), ex, sep = "")], c("x", "y")), ex = ex))
})
ans.ter = Reduce(function (a, b) { return (rbind(a, b))}, ans.bis)
qplot(x, y, data = ans.ter, facets = ~ ex, geom = "point")

Comment répondre aux questions suivantes :
Les pourboires (
tip) dépendent-ils du montant (total_bill)Et des jours de la semaine (
day) ?Et du nombre de convives (
size) ?Croiser
tipen fonction detotal_billetsize