library(ggplot2)
library(scales)
library(reshape2)
Vous devez faire les questions suivantes avec la fonction ggplot()
.
iris
, représenter les boîtes à moustaches des 4 variables pour les trois espèces.ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot()
ggplot(iris, aes(Species, Sepal.Width)) + geom_boxplot()
ggplot(iris, aes(Species, Petal.Length)) + geom_boxplot()
ggplot(iris, aes(Species, Petal.Width)) + geom_boxplot()
iris.melt = melt(iris, id.vars = "Species")
ggplot(iris.melt, aes(Species, value)) +
geom_boxplot() +
facet_wrap(~ variable, scales = "free")
iris.melt = melt(iris, id.vars = "Species")
ggplot(iris.melt, aes(Species, value, fill = Species)) +
geom_boxplot() +
facet_wrap(~ variable, scales = "free") +
scale_fill_brewer(palette = "Pastel1") +
theme_minimal() +
theme(axis.title = element_blank(),
panel.grid = element_blank(),
strip.background = element_rect(fill = "black", color = "black"),
strip.text = element_text(color = "white"))
tips
du package reshape2
, représenter total_bill
en fonction de sex
et smoker
.ggplot(tips, aes(sex, total_bill, fill = sex)) + geom_boxplot() +
facet_grid(~ smoker, labeller = label_both)
tips
, représenter total_bill
et tip
, en fonction de sex
de 2 façonsggplot(tips, aes(total_bill, tip, color = sex)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
facet_grid(~ sex, labeller = label_both)
ggplot(tips, aes(total_bill, tip)) +
geom_bin2d() +
facet_grid(~ sex, labeller = label_both)
ggplot(transform(tips, total_bill_cut = cut(total_bill, 5)),
aes(total_bill_cut, tip, fill = total_bill_cut)) +
geom_boxplot() +
facet_grid(~ sex, labeller = label_both) +
theme(axis.text.x = element_text(angle = 45, vjust = .5))
smoker
en plusggplot(tips, aes(total_bill, tip, color = sex)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
facet_grid(smoker ~ sex, labeller = label_both)
ggplot(transform(tips, total_bill_cut = cut(total_bill, 5)),
aes(total_bill_cut, tip, fill = total_bill_cut)) +
geom_boxplot() +
facet_grid(smoker ~ sex, labeller = label_both) +
theme(axis.text.x = element_text(angle = 45, vjust = .5))
anscombe
, refaire le graphique suivantans = rbind(
transform(setNames(subset(anscombe, select = c(x1, y1)), c("x", "y")), ex = 1),
transform(setNames(subset(anscombe, select = c(x2, y2)), c("x", "y")), ex = 2),
transform(setNames(subset(anscombe, select = c(x3, y3)), c("x", "y")), ex = 3),
transform(setNames(subset(anscombe, select = c(x4, y4)), c("x", "y")), ex = 4)
)
ggplot(ans, aes(x, y)) +
geom_point() +
geom_smooth(method = "lm", fullrange = T, se = FALSE) +
facet_wrap(~ ex)
ou en une fois
ggplot(
Reduce(
function(a, b) { return(rbind(a, b))},
lapply(1:4, function(i) {
ans = anscombe[,paste(c("x", "y"), i, sep = "")]
names(ans) = c("x", "y")
ans$i = i
return(ans)
})
),
aes(x, y)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE, fullrange = TRUE) +
facet_wrap(~ i)
5. Comment répondre aux questions suivantes :
1. Les pourboires (
tip
) dépendent ils du montant (total_bill
)2. Et des jours de la semaine (
day
) ?3. Et du nombre de convives (
size
) ?4. Croiser
tip
en fonction detotal_bill
etsize