Довольно просто конвертировать ваш пример в код Markdown.Это далеко не общее, но довольно очевидно, как расширить его для обработки других выражений.
Идея состоит в том, чтобы оценить выражение plotmath
, чтобы сформировать строку, которая является Markdown.Например, используйте эту функцию:
toMarkdown <- function(e) {
# In plotmath, paste acts like paste0
paste <- paste0
# Italic text just has stars around it
italic <- function(s) paste0("*", s, "*")
# Single subscripts are entered using subsetting
`[` <- function(main, subscript) paste0(main, "~", subscript, "~")
# Evaluate the expression to produce a string
eval(e)
}
Я не установил версию devel ggstatsplot
, но могу скопировать вашу p_call
:
p_call <- quote(paste(NULL, italic("t"), "(", "29.23", ") = ", "5.49", ", ",
italic("p"), " = ", "< 0.001", ", ", italic("g"), " = ",
"1.89", ", CI"["95%"], " [", "1.10", ", ", "2.83", "]", ", ",
italic("n"), " = ", 32L))
Если я запустлючто через toMarkdown
, я получаю это:
> toMarkdown(p_call)
[1] "*t*(29.23) = 5.49, *p* = < 0.001, *g* = 1.89, CI~95%~ [1.10, 2.83], *n* = 32"
Если я вставлю это inline в документ уценки, используя r toMarkdown(p_call)
(в обратных галочках), я получаю этот скриншот:
Поскольку вы являетесь автором ggstatsplot
, вы должны знать все функции, которые могут отображаться в ваших объектах вызова, и можете расширять toMarkdown
, чтобы обрабатывать их все.Не стесняйтесь включать его в свой пакет.