【发布时间】:2017-11-02 13:43:17
【问题描述】:
对于我正在编写的 Shiny 程序,我有包含破折号、逗号和方括号的输入变量。我可以替换掉空格,但其余的都是必需的,因为它们指的是化合物,没有它们就没有意义。正如预期的那样,这些字符使 Shiny 应用程序无法找到所需的变量;而没有这些字符的变量可以正常工作。
已编辑: 下面的代码是一个测试 Shiny 应用程序。使用 Chemical-X(a,b) 应用程序返回“找不到函数 X”。使用 Chemical.B,应用程序返回“未找到对象 Chemical.B”,这是所需的结果,因为应用程序将化学物质视为对象,而不是某些不存在的功能。
library (shiny)
library (ggplot2)
dat <- as.data.frame(c("Chemical-X(a,b)", "Chemical.B"))
dat[,2] <- (c(6,3))
colnames(dat) <- c("Chemical", "Count")
ui <- fluidPage(
titlePanel("SE Test"),
sidebarLayout(
sidebarPanel(
selectInput(inputId = "varX",
label = "Chemical",
choices = dat[,1],
width = "200px"),
selectInput(inputId = "varY1",
label = "Count",
choices = dat[,2],
width = "200px")
),
mainPanel(
plotOutput("chemPlot")
)
)
)
server <- function(input, output){
output$chemPlot <- renderPlot({
plot.data <- ggplot(data = dat)
point <- plot.data + geom_point(
aes_string(x = input$varX, y = input$varY1))
plot(point)
})
}
shinyApp(ui = ui, server = server)
是否有已知的方法可以做到这一点,或者我需要想出一些可行的解决方法吗?我曾尝试按照here 的建议使用反引号,但这没有用。
谢谢,马特
【问题讨论】:
-
如果您可以提供一些示例输入并更清楚地解释所需的行为,这个问题会更容易回答。