#r #ggplot2 #shiny
Вопрос:
Я новичок в r shiny, что я пытаюсь сделать ggplot в r shiny из файла моего локального компьютера. Но это выдает мне предупреждение об ошибке: Ошибка в as.character: не удается принудить тип «закрытие» к вектору типа «символ» [Трассировка стека недоступна]
Я не уверен, что происходит не так, мои данные df в основном представляют собой csv-файл с тремя переменными(год, переменная и значение). Наша переменная «переменная» — это вектор символов(каждый элемент содержит несколько слов), Который я не уверен, как преобразовать в вектор строк(даже я не знаю, возможно это или нет, но я пытался использовать, is.string и т. Д.). Так что любая помощь была бы очень признательна.
library(shiny)
df<-read.csv("C:\Users\syeda\Documents\syeda_demo\7.2.21_demo\vis.csv")
# define user interface object
ui <- fluidPage(
(inputId = df),
(outputId = ggplot))
# define server() function
server <- function(input, output){
output$myoutput <- render({
ggplot(df, aes(x=year(), y=value(), fill=variable()))
geom_bar(stat = "identity") ylab("proportion")
scale_fill_manual(values = paste0(alphabet(20), "FF"), name = "year")
theme(axis.text.x = element_text(angle = 90, hjust = 1))
input$df
# If it uses an input value (input$myinput),
# the output will be rebuilt whenever
# the input value changes
})}
# call to shinyApp() which returns the Shiny app
shinyApp(ui = ui, server = server)
Комментарии:
1. Я не уверен, где вы взяли этот синтаксис для пользовательского интерфейса, но вам нужно использовать такие функции, как
textInput()
иplotOutput()
. Вы не можете просто заключать идентификаторы в круглые скобки. И тогда непонятно, откудаaes(x=year(), y=value(), fill=variable())
должны взяться подобные ценности. Обычно вы получаете их от таких входов, какinput$year
или что-то в этом роде. Если вы новичок в shiny, может быть, посмотрите выступления здесь: rstudio.com/resources/shiny-dev-con-2016 особенно те, что касаются реактивности.2. @MrFlick Спасибо за ссылку, я пытаюсь изучить ее за последние несколько дней, и она кажется совсем другой, чем r-studio(думал, что будет похоже), так как это приложение. Можете ли вы дать мне шаблон того, что вы только что сказали? И aes(x=год (), y=значение (), заполнение=переменная ()), вероятно, следует записать как aes(x=год, y=значение, заполнение=переменная). Это то, что я сделал в своей r-студии, и это прекрасно работает.