#r
#r
Вопрос:
Это ввод данных
потому что исходные данные настолько велики, что я фильтрую некоторые страны
total_data lt;-read.csv('https://raw.githubusercontent.com/owid/co2-data/master/owid-co2-data.csv', stringsAsFactors = F) data_select lt;- total_data %gt;% filter(country %in% c("Canada", "Albania", "China", "Egypt", "Cyprus"))
Это мой сервер
консоль ошибок показывает, что у меня есть ошибки с моим фильтром
server lt;- function(input, output) { output$plot lt;- renderPlot({ data lt;- data_select %gt;% filter(year gt; input$year[1], year lt; input$year[2]) ggplot( data = plot_data, mapping = aes_string(x = "year", y = input$y_var, color = "country") ) geom_point() labs(x = "year", y = input$y_var, title = "data") }) }
Это мой пользовательский интерфейс
Я настраиваю годовой диапазон для слайдера
year_range lt;- range(data_select$year) sidebar lt;- sidebarPanel( selectInput( "y", label = "Y Variable", choices = colnames(total_data), selected = "co2" ), sliderInput( "year", label = "Year", min = year_range[1], max = year_range[2], value = year_range ) )
Я не могу найти очевидных ошибок, но когда я запускаю приложение, график не отображается , и в нем есть советы, подобные этому
Listening on http://127.0.0.1:6581 Warning in normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:/Users/29061/OneDrive/??": ???????????????? Warning in normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:/Users/29061/OneDrive/??": ???????????????? Warning in normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:/Users/29061/OneDrive/??": ????????????????
Комментарии:
1. Что такое
plot_data
?
Ответ №1:
Некоторые имена, где они неуместны, input$year_range
должны быть input$year
и input$y_var
должны быть input$y
. Первый аргумент selectInput()
( inputId
) предназначен для доступа к его значению внутри сервера.
Вот код для приложения:
library(shiny) library(tidyverse) total_data lt;-read.csv('https://raw.githubusercontent.com/owid/co2-data/master/owid-co2-data.csv', stringsAsFactors = F) data_select lt;- total_data %gt;% filter(country %in% c("Canada", "Albania", "China", "Egypt", "Cyprus", "Japan", "Russia", "United States", "United Kingdom")) year_range lt;- range(total_data$year) # UI ---------------------------------------------------------------------- ui lt;- fluidPage( sidebarLayout( sidebarPanel( selectInput( "y", label = "Y Variable", choices = colnames(total_data), selected = "co2" ), sliderInput( "year", label = "Year", min = year_range[1], max = year_range[2], value = year_range )), mainPanel = mainPanel( plotOutput('plot') ) )) # SERVER ------------------------------------------------------------------ server lt;- function(input, output) { output$plot lt;- renderPlot({ data lt;- data_select %gt;% filter(year gt; input$year[1], year lt; input$year[2]) ggplot( data = data, mapping = aes_string(x = "year", y = input$y, color = "country") ) geom_point() labs(x = "year", y = input$y, title = "data") }) } shinyApp(ui, server)
Комментарии:
1. привет, большое спасибо, что ответили мне, и я изменил эти части..но когда я запускаю приложение, оно по-прежнему не показывает никакого графика. это означает, что сервер все еще не работает….. не могли бы вы, пожалуйста, немного помочь мне в этом?
2. Да, я отредактировал ответ, чтобы включить данные. Отображается ли сейчас сюжет?
3. извините, но это все равно не работает..Я использую три сценария r, один для пользовательского интерфейса, один для сервера и один для основного(это запрос, поэтому я должен это сделать). и я также использую панель вкладок, потому что мне нужна страница для ознакомления. влияет ли это на вас?
4. Вы запускаете каждый сценарий по отдельности или находитесь в каталоге проекта R, содержащем пользовательский интерфейс. R и сервер.R?
5. большое вам спасибо! я исправил эту проблему.