Создать список литералов выражения из целочисленной последовательности

Я хотел бы отобразить последовательность целых чисел на последовательность литералов выражения, чтобы использовать последние в качестве меток для отметок на графике, например,

<code>lbls <- lapply(-2:2, function(i) expression(i * pi))
plot(...)
axis(1, at=seq(-2,2)*pi, labels=lbls)
</code>

До сих пор я пробовал все вариантыbquote, substitute, expression и т.д., что я мог придумать, но, видимо, я что-то упустил. Кроме того, часто задаваемые вопросы и связанные с ними вопросы & amp; ответы не полностью решили это для меня.

Как бы я сделал это правильно (я хочуaxis оказыватьpi как греческое письмо и есть-2 ... 2 заменилi в приведенном выше примере)?

Ответы на вопрос(2)

Попробуй это:

lbls <- parse(text = paste(seq(-2, 2), "pi", sep = "*"))
 14 июл. 2015 г., 20:20
Это предложение более полезно для тех, чьи выражения в списке совсем другие. Спасибо!
 fotNelton06 апр. 2012 г., 14:19
Хороший! Должно быть, я упустил из видуtext параметр в?parse.
Решение Вопроса

попробуй это:

lbls <- do.call("expression", lapply(-2:2, function(i) substitute(X * pi, list(X = i))))
plot(-10:10, -10:10, xaxt="n")
axis(1, at=seq(-2,2)*pi, labels=lbls)

enter image description here

 fotNelton06 апр. 2012 г., 12:40
Работает как шарм, спасибо!
 06 апр. 2012 г., 12:41
Спасибо @Roman или, используяbquote Вы можете написать так:lbls <- do.call("expression", lapply(-2:2, function(i) bquote(.(i) * pi)))

Ваш ответ на вопрос