Indeksy w działkach w R.

96

Nie mogę znaleźć sposobu, jak napisać indeksy w tytule lub podtytule w języku R. Jak napisać v 1,2 z 1,2 jako indeksami dolnymi?

Dzięki za pomoc!

Jeffrey
źródło

Odpowiedzi:

138

expression jest twoim przyjacielem:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript
smu
źródło
3
Jak załadować „2” ze zmiennej? Mam pętlę i muszę wykreślić x_ [1] x_ [2] x_ [3] ...
0x2207
6
Można użyć bquotepodczas pracy ze zmiennymi z indeksami. Powiedz,, nIter <- 2to plot(1, 1, main = bquote(title[.(nIter)]))jest dokładnie to, czego potrzebujesz (pobrane z listy mailingowej R-help ).
fdetsch
120

Jeśli chcesz mieć wiele indeksów dolnych w jednym tekście, użyj gwiazdki (*), aby oddzielić sekcje:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))
Cyrille
źródło
6
Wow, dwudniowa odpowiedź na pytanie sprzed dwóch lat, okazała się tym, czego potrzebowałem. Dzięki!
Michael
3
A jeśli chcesz, aby indeks był ciągiem znaków, po prostu umieść go w cudzysłowie:plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
Stewart Macdonald
1
To dobra wskazówka jak można umieścić [digits]albo [characters]nawet [a5]w indeksie, ale nie [5a]bądź [a a]. Niedawno odkryłem to dla:expression('x'['10sdt'])
Cyrille
28

Widzisz? Wyrażenie

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

wprowadź opis obrazu tutaj

Pościg
źródło
10

Indeks dolny i odnoszący się do przechowywanej wartości ...

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

wprowadź opis obrazu tutaj

Tony Ladson
źródło
5

Inny przykład, wyrażenie działa w przypadku ujemnych indeksów górnych bez konieczności stosowania cudzysłowów wokół liczby ujemnej:

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

i potrzebujesz tylko * do oddzielenia sekcji, jak wspomniano powyżej (kiedy piszesz indeks górny lub dolny i musisz dodać więcej tekstu do wyrażenia po).

user29609
źródło
1
Dzięki za wyraźne wyjaśnienie, co robi *!
Lalochezia
4

Jak zauważyli inni użytkownicy, używamy expression(). Chciałbym odpowiedzieć na oryginalne pytanie, które zawiera przecinek w indeksie dolnym:

Jak mogę napisać v 1,2 z 1,2 jako indeksami dolnymi?

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

Chciałbym również dodać odniesienie dla tych, którzy chcą znaleźć pełną expressionskładnię w Rkreśleniu: Aby uzyskać więcej informacji, zobacz ?plotmathstronę pomocy. Bieganiedemo(plotmath) pokaże wiele wyrażeń i odpowiednią składnię.

Pamiętaj, aby używać go *do łączenia różnych typów tekstu w wyrażeniu.

Oto niektóre przykładowe dane wyjściowe z demo(plotmath):

wprowadź opis obrazu tutaj

Megatron
źródło