Réponses:
expression
est votre ami:
plot(1,1, main=expression('title'^2)) #superscript
plot(1,1, main=expression('title'[2])) #subscript
bquote
lorsque vous travaillez avec des variables indicées. Dites, nIter <- 2
alors plot(1, 1, main = bquote(title[.(nIter)]))
c'est exactement ce dont vous avez besoin (extrait de la liste de diffusion R-help ).
Si vous cherchez à avoir plusieurs indices dans un texte, utilisez l'étoile (*) pour séparer les sections:
plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))
plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
[digits]
ou [characters]
ou même [a5]
en indice mais pas [5a]
ou [a a]
. J'ai récemment découvert ceci pour:expression('x'['10sdt'])
Un indice et faisant référence à une valeur stockée ...
a <- 10
plot(c(0,1), c(0,1), type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
text(0.2, 0.6, cex = 1.5, bquote(paste('S'['f']*' = ', .(a))))
Un autre exemple, l'expression fonctionne pour les exposants négatifs sans avoir besoin de guillemets autour du nombre négatif:
title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))
et vous n'avez besoin que de * pour séparer les sections comme mentionné ci-dessus (lorsque vous écrivez un exposant ou un indice et que vous devez ajouter plus de texte à l'expression après).
Comme d'autres utilisateurs l'ont souligné, nous utilisons expression()
. Je voudrais répondre à la question originale qui comporte une virgule dans l'indice:
Comment puis-je écrire v 1,2 avec 1,2 comme indices?
plot(1:10, 11:20 , main=expression(v["1,2"]))
Aussi, j'aimerais ajouter la référence pour ceux qui cherchent à trouver la expression
syntaxe complète dans le R
traçage: Pour plus d'informations, consultez la ?plotmath
page d'aide. Fonctionnementdemo(plotmath)
présentera de nombreuses expressions et une syntaxe pertinente.
N'oubliez pas d'utiliser *
pour joindre différents types de texte dans une expression.
Voici quelques exemples de sortie de demo(plotmath)
: