Я очень новичок в программировании R, и я пытаюсь создать блестящее приложение r, которое берет данные о данных акустической атаки и строит гистограмму, которая определяет частоту своего рода атаки например Провоцированные, неспровоцированные, катание на лодках и т. Д. Однако я хочу иметь возможность фильтровать по региону. Вот пример набора данных.Выбор даты записи с помощью selectInput in shiny R
CaseNumber Year Type Country Area OriginalOrder Region
1642.00.00 1642 Unprovoked USA New York 136 Northeast
1779.00.00 1779 Unprovoked USA Hawaii 152 West
1805.09.00 1805 Invalid USA New York 160 Northeast
1816.09.03 1816 Unprovoked USA Rhode Island 164 Northeast
1817.06.24 1817 Unprovoked USA South Carolina 168 South
1828.00.00 1828 Unprovoked USA Hawaii 181 West
1830.07.26 1830 Unprovoked USA Massachusetts 187 Northeast
1837.00.00 1837 Invalid USA South Carolina 196 South
1837.00.00 1837 Unprovoked USA South Carolina 197 South
Вот что у меня есть с моим R-кодом. Я могу иметь приложение показать мне диаграмму с данными для всех регионов, но я не уверен, как обновить приложение, так что, например, только атаки, которые произошли на Юге, появляются на гистограмме или только атаки на северо-востоке регионе, если выбран из выпадающего списка регионов, при этом он по умолчанию применяет атаки, которые произошли во всех регионах.
UI
# Link to Shark Attack Data
setwd("C:\\MyData\\Shark-App");
data <- read.csv("Shark.csv");
attach(data);
#Call in shiny
library(shiny)
library(dplyr);
shinyUI(
# Use a fluid Bootstrap layout
fluidPage(
# Name Page
titlePanel("Type of Shark attacks by Region"),
#Generate a row with a sidebar
sidebarLayout(
# Define the sidebar with one input
sidebarPanel(
selectInput("Area", "Select your Region:",
choices=names(Area)),
hr(),
helpText("Data from The Global Shark Attack File ")
),
# Sprcify Bar Plot input
mainPanel(
plotOutput("sharkPlot")
)
)
)
)
Сервер
# Link to Shark Attack Data
setwd("C:\\MyData\\Shark-App");
data <- read.csv("Shark.csv");
attach(data);
#Check Data for consistency
dim(data);
names(data);
library(shiny)
#Define a server for the Shiny app
shinyServer(function(input, output) {
# Plot the Shark graph
output$sharkPlot <- renderPlot({
# Render a barplot
barplot(xtabs(~data$Type),
space=F,
col=rainbow(length(levels(data$Type))),
main = input$Area,
ylab= "Number of Attacks",
xlab= "Type")
})
})
Я признателен за любую помощь я могу получить
Спасибо, это сработало, и я вижу, что я не был делать правильно. – Barzul