Combinant coller() et d'expression() fonctions dans le carré des étiquettes
Considérer cet exemple simple:
labNames <- c('xLab','yLabl')
plot(c(1:10),xlab=expression(paste(labName[1], x^2)),ylab=expression(paste(labName[2], y^2)))
Ce que je veux, c'est pour la saisie de caractères défini par la variable " labName,
'xLab" ou "yLab' apparaisse à côté du X^2 ou y^2 défini par l'expression(). Comme il est, le texte 'labName' avec un indice est joint à l'exposant d'expression.
Toutes les pensées?
Vous devez vous connecter pour publier un commentaire.
Une solution alternative à celle de @Aaron est le
bquote()
fonction. Nous avons besoin de fournir un valide R expression, dans ce casLABEL ~ x^2
par exemple, oùLABEL
est la chaîne que vous souhaitez assigner à partir du vecteurlabNames
.bquote
évalue R code à l'intérieur de l'expression enveloppé dans.( )
et subsitutes le résultat dans l'expression.Voici un exemple:
(Note de l'
~
ajoute juste un peu d'espacement, si vous ne voulez pas de l'espace, de le remplacer par*
et les deux parties de l'expression sera juxtaposés.)Utilisation
substitute
à la place.EDIT: ajout d'un nouvel exemple d'ggplot2 à la fin
Voir ?plotmath pour les différentes opérations mathématiques dans la R
Vous devriez être en mesure d'utiliser l'expression sans coller. Si vous utilisez le tilda (~) symbole dans l'expression de la fonction qu'il assumera il y a un espace entre les caractères, ou vous pouvez utiliser le symbole * et il ne sera pas mis un espace entre les arguments
Parfois, vous aurez besoin de modifier les marges dans vous mettez les exposants sur l'axe des y.
J'espère que vous pouvez voir les différences entre les parcelles 1, 2 et 3 avec les différentes utilisations de l' ~ et * les symboles. Une note, vous pouvez utiliser d'autres symboles, tels que le tracé du degré de symbole pour des températures ou mu, phi. Si vous souhaitez ajouter un indice d'utiliser les crochets.
Ici est un ggplot exemple à l'aide de l'expression avec un non-sens exemple
Ou si vous avez le pacman bibliothèque installé, vous pouvez utiliser p_load pour télécharger automatiquement et de les charger et de les attacher ajouter les packages de
Très bel exemple à l'aide de collage et de substitut pour composer les deux symboles (mathplot) et des variables à http://vis.supstat.com/2013/04/mathematical-annotation-in-r/
Ici est un ggplot adaptation
title = substitute(paste("n = ", n, ", ", bar(x), " = ", mu, ", ", "\u03C3/\u221An = ", se), list(n = df[["n"]], mu = format(df[["mu"]], digits = 2, nsmall = 2), se = format(df[["se"]], digits = 2, nsmall = 2), sep = ""))
, oùdf
est un dataframe de portefeuille les valeurs à imprimer (la taille de l'échantillonn
, la moyenne de l'échantillonmu
et l'erreur standardse
). Wow.Si x^2 et y^2 étaient des expressions déjà donné dans la variable au carré, ce qui résout le problème:
Veuillez noter que le [[1]] derrière les carré[1]. Il vous donne le contenu de l'expression(...)" entre les crochets, sans aucun des caractères d'échappement.