Я создаю приложение SHINY, которое использует значения коэффициента для подмножества кадра данных и рисования гистограммы.
Обратите внимание, что кадр данных был расплавлен в предыдущем наборе команд, что позволило отобразить несколько переменных на оси x. Похоже, что это также мешает R прочитать имена столбцов в temp
.
. После запуска приложения SHINY открывает страницу, но оно быстро закрывается и выдает следующую ошибку:
Предупреждение: ошибка в: не зарегистрирован обработчик для типа .clientdata_output__width [нет трассировки стека] Ошибка в (функция (имя, значение, блестящая сессия): обработчик не зарегистрирован для типа .clientdata_out ...
Я не могу понять, что не так с моим кодом. Кто-нибудь может помочь?
# create data
temp<-structure(list(id = c("1", "2", "3", "4", "5", "6", "7"), Workshop = c("Peer Jury Workshop", "Peer Jury Workshop", "School-Based Courts", "School-Based Courts", "School-Based Courts", "School Safety in the 21st Century", "School Safety in the 21st Century"), variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Engagement", "EncouragedLrg", "Knowledgeable", "LearnNew", "PresenterAgain", "TopicAgain", "Organized", "HandoutsUseful"), class = "factor"), value = c(1, 1, 5, 3, 5, 4, 5)), row.names = c(NA, 7L), class = "data.frame")
library(shiny);library(plotly);library(tidyverse)
w<-names(temp[ ,c(5)]) # this does not work, why?
ui <- fluidPage(
headerPanel("Session Reviewer"),
sidebarPanel(
selectInput('Workshop', 'Which workshop?',
c("All",unique(as.character(temp$Workshop))))),
plotOutput( plotlyOutput('trendPlot', height = "100%") )
)
server<-function(input,output){
dataset<-reactive({
temp
if(input$Workshop!="All") {dataset<-dataset[dataset$Workshop==input$Workshop,] }
})
output$trendPlot <- renderPlotly({
p<-ggplot(dataset(),aes_string(x=variable,y=value))+geom_bar(stat='summary',fill='cadetblue3')
ggplotly(p)
})
}
shinyApp(ui, server)