Выражение R plotmath для отображения диапазона значений в ggplot

Я изо всех сил пытаюсь получить выражение, чтобы сообщить что-то вроде 10‹=VarName‹120. Почему следующий код не работает?

starwars %>% 
  filter(between(birth_year, 10, 120)) %>% 
  ggplot(aes(x=mass, y=height)) +
  geom_point() +
  labs(title=expression(10<="Birth Year"120))

Обратите внимание, что это само по себе работает (без 120 в конце):

starwars %>% 
  filter(between(birth_year, 10, 120)) %>% 
  ggplot(aes(x=mass, y=height)) +
  geom_point() +
  labs(title=expression(10<="Birth Year"))

person Benny Goldman    schedule 02.02.2021    source источник
comment
Извините, должно быть expression(10<="Birth Year"<120)   -  person Benny Goldman    schedule 02.02.2021


Ответы (2)


Возможное решение:

starwars %>% 
  filter(between(birth_year, 10, 120)) %>% 
  ggplot(aes(x=mass, y=height)) +
  geom_point() +
  labs(title=expression(paste(10<="Birth Year<",120, sep = "")))

Другое решение (более сложное, но лучшее)

starwars %>% 
  filter(between(birth_year, 10, 120)) %>% 
  ggplot(aes(x=mass, y=height)) +
  geom_point() +
  labs(title = parse(text = paste0('"10" <= ', ' ~ "Brith Year" <= ', '~ 120')))
person Leonardo    schedule 02.02.2021
comment
Спасибо Леонардо. Однако я заметил, что для этого решения знак ‹, включенный в кавычки, значительно меньше знака ‹= рядом с 10. Знаете ли вы, есть ли способ сделать его единообразным? - person Benny Goldman; 02.02.2021
comment
Я изменил свой ответ. Теперь должно работать в любом случае - person Leonardo; 02.02.2021
comment
Спасибо, Леонардо, это здорово. Я выбрал эту штуку со «Звездными войнами» в качестве простого примера. На практике я делаю график, который показывает подсчеты в разных ячейках ставок заработной платы (одна строка для 8‹=зарплата‹9, другая для 9‹=зарплата‹10, ...), и поэтому я использую это для обозначения строк в легенде. Знаете ли вы, есть ли способ автоматизировать или упростить объем текста, так как будет много писать это 5 или 6 раз для каждого сюжета. Не беспокойтесь, если нет. - person Benny Goldman; 02.02.2021
comment
Не видя данных, трудно дать вам ответ. Но имейте в виду, что в выражение можно передавать переменные, так что можно хотя бы немного автоматизировать. Если ответ был вам полезен, если хотите, примите его - person Leonardo; 02.02.2021