Pedici nelle trame in R


95

Non riesco a trovare un modo per scrivere pedici nel titolo o nel sottotitolo in R. Come posso scrivere v 1,2 con 1,2 come pedici?

Grazie per l'aiuto!

Risposte:


138

expression È tuo amico:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript

3
Come caricare "2" dalla variabile? Ho un ciclo e devo tracciare x_ [1] x_ [2] x_ [3] ...
0x2207

6
È possibile utilizzarlo bquotequando si lavora con variabili con indice. Dì, nIter <- 2allora plot(1, 1, main = bquote(title[.(nIter)]))è esattamente ciò di cui hai bisogno (preso dalla mailing list di R-help ).
fdetsch

119

Se stai cercando di avere più pedici in un testo, usa la stella (*) per separare le sezioni:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))

6
Wow, una risposta di due giorni a una domanda di due anni, che risulta essere ciò di cui avevo bisogno. Grazie!
Michael

2
E se vuoi che il pedice sia una stringa, mettilo tra virgolette:plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
Stewart Macdonald,

1
Questo è un buon suggerimento in quanto puoi mettere [digits]o [characters]o anche [a5]nel pedice ma non [5a]o [a a]. L'ho scoperto di recente per:expression('x'['10sdt'])
Cyrille

28

Vedi? Espressione

plot(1:10,main=expression("This is a subscript "[2]))

inserisci qui la descrizione dell'immagine


10

Un pedice e fa riferimento a un valore memorizzato ...

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))))

inserisci qui la descrizione dell'immagine


5

Un altro esempio, l'espressione funziona per apici negativi senza la necessità di virgolette attorno al numero negativo:

title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))

e hai solo bisogno di * per separare le sezioni come menzionato sopra (quando scrivi un apice o un pedice e devi aggiungere più testo all'espressione dopo).


1
Grazie per aver spiegato esplicitamente cosa fa *!
Lalochezia

4

Come altri utenti hanno sottolineato, usiamo expression(). Vorrei rispondere alla domanda originale che prevede una virgola nel pedice:

Come posso scrivere v 1,2 con 1,2 come pedici?

plot(1:10, 11:20 , main=expression(v["1,2"]))

Inoltre, vorrei aggiungere il riferimento per coloro che cercano di trovare la expressionsintassi completa nel Rplottaggio: per ulteriori informazioni vedere la ?plotmathpagina della guida. L'esecuzione demo(plotmath)mostrerà molte espressioni e la sintassi pertinente.

Ricorda di utilizzare *per unire diversi tipi di testo all'interno di un'espressione.

Ecco alcuni degli output di esempio da demo(plotmath):

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.