Also verwende ich mpg-Datensatz, um meine R-glänzenden Fähigkeiten zu üben, aber ich stieß auf ein Problem.R-glänzend: Diskreter Wert für kontinuierlichen Maßstab
Ich möchte eine App schreiben, die ich verschiedene Variablen wählen konnte, um Graph zu machen, wenn es mindestens eine diskrete Variable beinhaltet, dann zeichne ich einen geom_boxplot, sonst zeichne ich einfach einen geom_point.
Mein ui.R sieht wie folgt aus:
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))
}
})
})
Aber es funktioniert einfach nicht:
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")
)
)
))
Und Meine server.R wie folgt aussieht! Wenn ich eine diskrete Variable wähle, wird eine Fehlermeldung mit der Meldung "Diskreter Wert für kontinuierliche Skalierung" zurückgegeben. Wenn ich jedoch beide kontinuierlichen Wert wähle, scheint es gut zu funktionieren.
Warum zeigt es so eine Fehlermeldung? Bitte helfen Sie mir! Vielen Dank!