Я пытаюсь помочь другу отладить их первую попытку в базовом c блестящем приложении. Я знаю, что некоторые вещи не идеальны в этом коде (как минимум, по буквам), но я не понимаю, почему он должен выдавать ошибку субъекта ...
ui.R равно
library(magrittr)
library(dplyr)
library(tidyr)
olympic <- read.csv("olympic_games.csv", header = TRUE)
shinyServer(fluidPage(
titlePanel("Olympic games medals from 2002 - 2012"),
country <- levels(olympic$Country),
total_medal <- unique(olympic$Total.Medal),
sidebarLayout(
sidebarPanel(
helpText("Choose the contry to know how many medals they have"),
selectInput("Country",
label = "chose country",
choices = country,
selected = country[1]),
selectInput("country1",
label = "chose country",
choices = country,
selected=country[2]),
br(),
radioButtons("color", "Select the colour of histogram if you like?",
choices=c("green","red","yellow"), selected= "green")
),
mainPanel(
plotOutput("Olympic_games")
)
))
)
и server.r
library(magrittr)
library(dplyr)
library(tidyr)
library(ggplot2)
shinyServer(
function(input,output,session){
olympic <- read.csv("olympic_games.csv", header = TRUE)
output$Olympic_games <- renderPlot({
olympic1 <- subset(olympic,Country==input$Country)
olympic2 <- subset(olympic,Country==input$country1)
col <- input$color
frames <- rbind(olympic1,olympic2)
ggplot(frames, aes(Total.Medals))+
geom_histogram(aes(Total.Medals,fill=Country),color=col) + facet_grid(Country~Total.Medals)
}
)
}
)
Когда файл olympic_games.csv читается, данные выглядят как
head(olympic)
Athlete Age Country Year Closing.Ceremony.Date Sport Gold.Medals Silver.Medals
1 Michael Phelps 23 United States 2008 8/24/2008 Swimming 8 0
2 Michael Phelps 19 United States 2004 8/29/2004 Swimming 6 0
3 Michael Phelps 27 United States 2012 8/12/2012 Swimming 4 2
4 Natalie Coughlin 25 United States 2008 8/24/2008 Swimming 1 2
5 Aleksey Nemov 24 Russia 2000 10/1/2000 Gymnastics 2 1
6 Alicia Coutts 24 Australia 2012 8/12/2012 Swimming 1 3
Bronze.Medals Total.Medals
1 0 8
2 2 8
3 0 6
4 3 6
5 3 6
6 1 5
Я обнаружил ссылку на эту ошибку, возникающую при попытке передать две строки символов в блестящую функцию пользовательского интерфейса, которая ожидает только одну, но я нигде не вижу здесь, где это могло бы произойти.