2012-02-15 3 views
3

Предположим, что x и y являются переменными. Я пытаюсь создать заголовок графа, который имеет эквивалент Latex $\sigma_v =$ 3 $\rho =$ 5, где значения 3 и 5 взяты из R переменных.R: Как смешать серию переменных и греческих символов в строке

Вот ближе, я смог прийти (по образцу примера в plotmath?):

x <- 1:10 
y <- 3 
z <- 5 
plot(x,x) 
mtext(substitute(list(sigma[v],rho) == group("(",list(a,b),")"),list(a=y,b=z))) 

Можно ли иметь последовательность «переменная = число строк»?

ответ

2

Выражение LaTex не было запятой, разделяющей две пары, но в этом случае вы действительно хотите один в там так ли это хорошее решение:

mtext(substitute(sigma[v] == a *","~ rho == b, list(a=y,b=z))) 

Чтобы прокомментировать понятие «конкатенации выражения ", поднятые mcd: Действительные (невидимые)" конкатенаторы ": ~ и * и (видимые) операторы infix. Пробелы не действительные разделители (и они игнорируются). Вам не нужно указывать ничего, кроме запятых, круглых скобок, которые не используются для видимой группировки неинтерпретированных подвыражений, а также кавычки и скобки, не используемые для их побочных эффектов. Иногда бывает проще процитировать длинную строку текста, потому что пробелы легче набирать, чем несколько * или тильда для разделения не-сюжетных слов.

+0

Спасибо, это отлично! Мне не удалось выяснить синтаксис для конкатенирования выражений, теперь я получаю его. – rmcd

+0

спасибо еще один раз. Ваши дополнительные замечания о конкатенации очень полезны. – rmcd

2

Вы можете использовать bquote(), чтобы сделать то, что вы сказали (LaTeX-эквивалент). Вот пример:

x <- 1:10 
y <- 3 
z <- 5 
plot(x,x) 
title(main = bquote(sigma[v] == .(y) ~~ rho == .(z))) 
Смежные вопросы