@ praguetastic Всегда хорошая идея поделиться воспроизводимым примером ваших данных. функция dput
от базы R идеально подходит для этого. В случае, если ваши данные большие, просто попробуйте создать пример данных, которые сохранят импортированные элементы вашего вопроса, как показано ниже.
data
Важно, чтобыВы даете людям знать, как хранятся ваши данные, так как таким образом мы можем использовать правильный подход, чтобы помочь вам. Например, в этом случае я не знаю, есть ли у вас объект временных рядов или подобный фрейм данных.
data <- data.frame(
country = rep(c("Dom. Rep", "USA", "China"), each = 50),
price = rnorm(150, mean = 1, sd = 6),
date = rep(seq(as.Date("2018-01-01"), by = "day", length.out = 50), times = 3)
)
app
Если вы запустите этот скрипт,у вас будет простое приложение, чтобы начать делать то, что вы хотите.
library(shiny)
library(ggplot2)
library(dplyr)
ui <- fluidPage(
#Header
h1("Time series plot"),
selectInput(
inputId = "country",
label = "Select country",
choices = unique(data$country),
selected = "Dom. Rep"
),
plotOutput("plot")
)
server <- function(input, output, session) {
output$plot <- renderPlot({
data %>%
filter(country == input$country) %>%
ggplot(aes(date, price)) +
geom_line()
})
}
shinyApp(ui, server)
В будущем не забывайте улучшать свои вопросы. Эта статья может быть полезна для этого