Можно ли заполнить варианты (значения) selectInput, вызвав фрейм данных в списке?Это помогло бы ускорить выполнение сценария, а также исключить длинные варианты выбора.
У меня есть папка (варианты выбора) в моей папке app.R .Эта папка содержит 15 файлов .xlsx (Excel), каждый из которых содержит два столбца (x = id, y = значение).
l list<-list.files(pattern=“*.xlsx”)
df_list<-lapply(list,readxl::read_excel)
Возвращает список данных.кадры (например):
Список из 2 $ 001.txt: 'data.frame': 15 шт.из 2 переменных: .. $ X: фактор с 50 уровнями .. $ Y: коэффициент с 50 уровнями $ 002.txt: 'data.frame': 5 наб.из 2 переменных .. $ X: фактор с 5 уровнями .. $ Y: коэффициент с 5 уровнями
Когда я пытаюсь вызвать значения (второй столбец соответствующего фрейма данных), приложение не может сказать, что выбор долженимеют значение.
selectInput (“state”, “States:”,
df_list[2][[2]]),
selectInput (“cnfd”, “Confidence”,
df_list[7][[2]])
...
str (df_list [2])
df x: 1,2,3,4,5... 50 лет: Аляска, Алабама, Арканзас ...
стр. (Df_list [7]
df x: 1,2,3,4,5y: «очень низкий», «низкий», «умеренный», «высокий», «очень высокий»
Есть идеи?
=========== Обновление ===============
Требуется убедиться, что у меня указана правильная структура:
str(df_list)
List of 4
$ :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 5 obs. of 2 variables:
..$ id : num [1:5] 1 2 3 4 5
..$ value: chr [1:5] "very low" "low" "moderate" "high" ...
$ :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 45 obs. of 2 variables:
..$ id : num [1:45] 1 2 3 4 5 6 7 8 9 10 ...
..$ value: chr [1:45] "George Washington" "John Adams" "Thomas Jefferson" "James Madison" ...
$ :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 50 obs. of 2 variables:
..$ id : num [1:50] 1 2 3 4 5 6 7 8 9 10 ...
..$ value: chr [1:50] "Alabama" "Alaska" "Arizona" "Arkansas" ...
$ :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 196 obs. of 2 variables:
..$ id : num [1:196] 1 2 3 4 5 6 7 8 9 10 ...
..$ value: chr [1:196] "Kabul" "Tirana" "Algiers" "Andorra la Vella"...
ShinyApp:
load('C:/Users/me/OneDrive/Documents/RProj/apps/data/dfenv.RData')
ui <- fluidPage(
titlePanel("Testing selectInput with list of data-frames"),
sidebarLayout(
sidebarPanel(
selectInput("state","States:",
df_list[3][2]),
selectInput("cty","Capital City:",
df_list[4][2]),
selectInput("cnf","Confidence:",
df_list[1][2]),
selectInput('potus',"President:",
df_list[2][2])
)))
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
Ошибка:
Ошибка в (функция (выбор, имя): все подсписки в «вариантах» должны быть названы.