这是我下面的代码,我认为这可能只是一个愚蠢的错误,但我花了最近5天的时间试图找到我在我的应用中出错的地方: -
ui <- fluidPage(h1("Left Ventricular Hypertrophy"),
titlePanel("Regression Model"),
sidebarLayout(
sidebarPanel(
h3("Marginal Histogram"),
selectInput("marhis1", "X:", choices = unique(colnames(lvh))),
selectInput("marhis2", "Y:", choices = unique(colnames(lvh)), selected = "sbp"),
sliderInput("bin", "Bin Width:", min = 1, max = 100, value = 10),
h3("Box Plot"),
selectInput("Variable4", "llvmi or sbp:", choices = c("llvmi", "sbp")),
selectInput("Variable5", "Grouped by:", choices = c("sex", "card", "dgp", "surv")),
mainPanel(
h3("Marginal Histogram"),
plotOutput("hist"),
br(),
h3("Boxplot"),
plotOutput("Box")
)
)
)
server <- function(input, output) {
lvh <- read.table('lvh.dat.txt', header = T)
output$hist <- renderPlot({
marg <- ggplot(lvh, aes(input$marhis1, input$marhis2) + geom_point() + theme_light() +
xlab(input$marhis1) + ylab(input$marhis2))
ggMarginal(marg, input$marhis1, input$marhis2, type = "histogram", binwidth = input$bin)
})
output$Box <- renderPlot({
choice2 <- data.frame(x=lvh[input$Variable4], y=lvh[input$Variable5])
ggplot(choice2, aes(lvh[input$Variable4], lvh[input$Variable5]) + geom_boxplot() + theme_light() +
xlab(input$Variable4) + ylab(input$Variable5))
})
}
shinyApp(ui = ui, server = server)
当我运行应用程序时,我继续在两个图中都遇到二元运算符的非数字参数错误,任何人都可以帮助
答案 0 :(得分:2)
首先,我鼓励您始终提供易于检查的代码示例。因为,从您在原始帖子中的评论对话中,您可以看到您没有完全明白这意味着:制作代码段,以便简单复制+粘贴足以让您遇到错误面对。
至少有四个人查看了您的代码,并且立即劝阻所有人不要耐心等待。
否则很容易发现,只是缺少一个括号
ggplot(lvh, aes(input$marhis1, input$marhis2) + geom_point()
必须是
ggplot(lvh, aes(input$marhis1, input$marhis2)) + geom_point()
(当然也消除了错误的原始结束括号)。
编辑:对ggplot
的第二次调用也是如此。更多相关信息:ggplot
通过向图表添加图层来实现。这就是您必须添加+
生成的ggplot(...)
元素的原因。不在ggplot
的调用中添加选项。