【发布时间】:2018-07-05 16:43:46
【问题描述】:
我正在尝试根据输入动态更改闪亮应用程序中的公式。
目前我可以使用默认的起始设置构建公式,但是每当我更改输入时,公式都会返回到原始的 mathjax 输入,而不是显示公式。
是否可以保持公式动态但保持其呈现为公式?
请看下面的代码:
library(shiny)
ui <- fluidPage(
fluidPage(
titlePanel("T-test example"),
fluidRow(
column(3, wellPanel(
sliderInput("mean1", "Group 1 mean:",
min = 10, max = 1000, value = 200,
step = 10),
sliderInput("sd1", "Group 1 variation:",
min = 10, max = 100, value = 50,
step = 10),
sliderInput("mean2", "Group 2 mean:",
min = 10, max = 1000, value = 200,
step = 10),
sliderInput("sd2", "Group 2 variation:",
min = 10, max = 100, value = 50,
step = 10)
)),
column(6,
plotOutput("plot1", width = 400, height = 300),
br(),
p(
withMathJax(
"$$t = \\frac{\\bar{x}_1 - \\bar{x}_2}{\\sqrt{\\frac{s_1^2}{N_1}+\\frac{s_2^2}{N_2}}}$$"
)),
textOutput("formula")
)
)
)
)
server <- function(input, output, session) {
output$plot1 <- renderPlot({
x = rnorm(500, mean = input$mean1,
sd = 20)
y = rnorm(500, mean = input$mean2,
sd = 20)
boxplot(x,y)
})
output$formula <- reactive({
str = sprintf("$$t = \\frac{%d - %d}{\\sqrt{\\frac{%d}{N_1}+\\frac{%d}{N_2}}}$$",
input$mean1,
input$mean2,
input$sd1,
input$sd2
)
str
})
observeEvent(input$change,
{
output$formula <- renderText({
formula()
})
})
}
shinyApp(ui, server)
【问题讨论】: