Символ латекса "binom" не доступен в графике через ggplot2 / latex2xp - PullRequest
0 голосов
/ 26 сентября 2019

Мне нужно написать формулу по оси Y, которая использует синтаксис binom в латексе, однако, похоже, что она не поддерживается.

library(ggplot2)
library(latex2exp)
fx.2b <- function(x, theta){
  choose(100, x)*exp((x*log(theta/(1-theta)) + 100*log(1-theta)))
}
df <- data.frame(x = rep(1:100, times = 5),
                 theta = rep(c(0.01, 0.1, 0.3, 0.5, 0.9), each = 100))
df$y <- fx.2b(df$x, df$theta)
df$theta <- as.factor(df$theta)
ggplot(data = df, aes(x = x, y = y, color = theta)) +
  geom_line() +
  labs(y = TeX("$f(x; \\theta) = \\binom{100}{x} \\exp (x \\log (\\frac{\\theta}{1-\\theta}) + 100 \\log (1 - \\theta))$"))

enter image description here

Моя латексная формула верна:

f (x; \ theta) = \ binom {100} {x} \ exp (x \ log (\ frac {\ theta} {1- \)theta}) + 100 \ log (1 - \ theta))

он отлично отображается в https://www.codecogs.com/latex/eqneditor.php.

Как я могу это исправить?

Заранее спасибо.

1 Ответ

2 голосов
/ 26 сентября 2019

Вы можете просто использовать plotmath напрямую.From help("plotmath"):

Если текстовый аргумент одной из функций рисования текста (text, mtext, axis, legend) в R является выражением, аргумент интерпретируется как математическое выражение ивывод будет отформатирован в соответствии с TeX-подобными правилами.

.,.

Доступные функции ... описаны в следующих таблицах:

Синтаксис Значение
.,.
поверх (x, y) x над y (без горизонтальной черты)
.,.
bgroup ("(", atop (x, y), ")") использует масштабируемые разделители

Итак, мы можем сделать так

ggplot(data = df, aes(x = x, y = y, color = theta)) +
    geom_line() +
    labs(y = bquote(bgroup("(", atop(100, x), ")")~"exp(x log"~
                    bgroup("(", frac(theta, 1 - theta), ")")~
                   "+ 100 log(1 -"~theta~"))"))

дляполучить обозначение типа биномиального типа

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...