Как да използвам променливи в Latex изрази в R?
Например:
plot(X, Y, main=expression(R^2))
Ще постави R с хубав надпис 2 като основно заглавие.
Но да кажем, че искам да казва „R^2: 0,5“, като 0,5 идва от R променлива. Как да направя това?
Как да използвам променливи в Latex изрази в R?
Например:
plot(X, Y, main=expression(R^2))
Ще постави R с хубав надпис 2 като основно заглавие.
Но да кажем, че искам да казва „R^2: 0,5“, като 0,5 идва от R променлива. Как да направя това?
Хакването на Owen е доста готино, но всъщност не е обичайният начин за това. Ако използвате bquote
, това всъщност е доста лесно. bquote
ще направи същото като quote
, с изключение на това, че всичко между .()
ще бъде оценено в определена среда (или глобалната, ако нищо не е посочено).
Тривиален пример:
X <- 1:10
Y <- 1:10
a <- 0.8
plot(X,Y,main=bquote(R^2 : .(a)))
дава:
Вижте също ?bquote
и ?plotmath
за повече примери и възможности
plotmath
на R трябва да работи в границите на R синтаксиса и конвенциите на анализатора. След като свикнете с него, е много по-лесно, отколкото изглежда.
- person Gavin Simpson; 28.07.2011
Ами това работи...
call(':', quote(R^2), a)
въпреки че ми се струва малко хакерско, тъй като използва R's : оператор, докато вие просто искате да залепите малко текст в края. Може би има по-добър начин?
tikz и psfrag ви позволяват да използвате действителен LaTeX код и изход вместо този на plotmath, което води до по-добра типографска последователност.
Вижте този въпрос за подробности. Получаване на LaTeX в R графики
Друг вариант на темата на @Joris е substitute()
. Вие давате на substitute()
израз и среда или списък, в който да оцени израза. Преминаването на списък обикновено е най-лесно, особено за работни места като тази, представена тук.
plot(X,Y, main = substitute(R^2 : a, list(a = a)))
Можем да разберем защо това работи, като погледнем само повикването substitute()
:
> substitute(R^2 : a, list(a = a))
R^2:0.8
a
в израза се заменя със стойността на a
в списъка.