L'ajout d'italique r avec un coefficient de corrélation à un nuage de points diagramme en ggplot

Je suis en train d'utiliser le code ci-dessous pour générer un simple nuage de points avec un coefficient de corrélation qui aurait mis en italiques r placé sur la parcelle.

data(mtcars)
# Load required libraries
require(ggplot2)               # To derive the graphs
require(ggthemes)              # To apply ggplot themes to the chart
require(scales)                # For pretty breaks
# Function to generate correlation coefficient for the charts
corr_eqn <- function(x,y, digits = 2) {
corr_coef <- round(cor(x, y), digits = digits)
corr_coef <- expression(paste(italic(r)," = ", corr_coef))
return(corr_coef)
}
# Provide a scatter plot for income and health deprivation
ggplot(mtcars, aes(x = drat, y = wt)) +
geom_point(shape = 19, size = 2, aes(colour = as.factor(cyl))) +
geom_smooth(colour = "red", fill = "lightgreen", method = 'lm') +
ggtitle("Example") +
xlab("drat") +
ylab("wt") +
scale_colour_tableau("tableau10") +
geom_text(x = 3, y = 3,
label = corr_eqn(mtcars$drat,
mtcars$wt), parse = TRUE) +
theme(legend.key = element_blank(),
legend.background = element_rect(colour = 'black'),
legend.position = "bottom",
legend.title = element_blank(),
plot.title = element_text(lineheight = .8, face = "bold", vjust = 1),
axis.text.x = element_text(size = 11, vjust = 0.5,
hjust = 1, colour = 'black'),
axis.text.y = element_text(size = 11, colour = 'black'),
axis.title = element_text(size = 10, face = 'bold'),
axis.line = element_line(colour = "black"),
plot.background = element_rect(colour = 'black', size = 1),
panel.background = element_blank())

Le code s'arrête avec la ? marque de la console. L'exécution du code avec les lignes:

#   geom_text(x = 3, y = 3,
#             label = corr_eqn(mtcars$drat, mtcars$wt), parse = TRUE) +

commenté, génère le tableau suivant:
L'ajout d'italique r avec un coefficient de corrélation à un nuage de points diagramme en ggplot

Je devine que ma fonction pour générer de l'équation de la format r = 0.7 ne fonctionne pas, comment puis-je résoudre ce problème?

Jetez un oeil sur cette question similaire.
comme une question de fait, j'étais en train d'écrire ma fonction à l'aide de la discussion dans la question, mais elle ne fonctionne pas. Clairement, j'ai fait quelque chose de mal.

OriginalL'auteur Konrad | 2015-07-10