【发布时间】:2017-09-25 09:37:14
【问题描述】:
所以我正在使用 mpg 数据集来练习我的 R-shiny 技能,但是我遇到了一个问题。
我想写一个应用程序,我可以选择不同的变量来制作图形,如果它至少涉及一个离散变量,那么我画一个geom_boxplot,否则我就画一个geom_point。
我的 ui.R 看起来像这样:
library(shiny)
shinyUI(fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
selectInput(inputId = "var1",
label = "Choose x variable",
choices =
names(mpg)
),
selectInput(inputId = "var2",
label = "Choose y variable",
choices =
names(mpg))
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
))
并且 我的 server.R 看起来像这样:
library(shiny)
library(tidyverse)
library(dplyr)
shinyServer(function(input, output) {
output$distPlot <- renderPlot({
if(typeof(mpg[, input$var1]) == "chr" ||
typeof(mpg[, input$var2]) == "chr")
{
ggplot(data = mpg) +
geom_boxplot(mapping =
aes(x = mpg[, input$var1],
y = mpg[, input$var2])) +
xlab(input$var1) +
ylab(input$var2) +
ggtitle(paste("Plot", input$var1, "vs", input$var2))
}
else
{
ggplot(data = mpg) +
geom_point(mapping =
aes(x = mpg[, input$var1],
y = mpg[, input$var2])) +
xlab(input$var1) +
ylab(input$var2) +
ggtitle(paste("Plot", input$var1, "vs", input$var2))
}
})
})
但它根本不起作用!当我选择离散变量时,它会返回一条错误消息,显示“离散值应用于连续比例”。但是,如果我都选择连续值,它似乎工作正常。
为什么会显示这样的错误消息? 请帮我! 非常感谢!
【问题讨论】: