Я пытаюсь обобщить подход Иерархические поля выбора, описанный в книге Mastering Shiny, чтобы включить непоследовательную фильтрацию. В настоящее время метод детализации работает только в том случае, если пользователь выбирает категории в определенном порядке, например, Территория -> Клиент -> Номер заказа. Однако я хотел бы, чтобы детализация работала независимо от первоначального ввода, который вводит пользователь. Кроме того, мое приложение включает примерно 10 входных данных, поэтому я хочу, чтобы код был масштабируемым.
Я следовал примеру из книги Mastering Shiny, но у меня возникли трудности с адаптацией кода для непоследовательной фильтрации. В частности, когда я пытаюсь изменить код для обеспечения непоследовательной фильтрации, поля выбора перестают отвечать на запросы.
Любые предложения о том, как изменить код, чтобы разрешить непоследовательную фильтрацию, будут очень признательны.
@ismirsehregal это именно то, что я ищу, спасибо! Не могли бы вы опубликовать ответ, и я приму его?
Один из способов сделать это — изменить и отфильтровать базовые данные. Итак, создайте вложенный список всех возможных комбинаций значений фильтра, а затем используйте функцию reduce()
из пакета purrr
для итеративного применения фильтрации.
Пример:
Допустим, я хочу отфильтровать продажи пищевых добавок. Предположим, у нас есть фрейм данных df
со столбцами Supplement
, Customer
и OrderNumber
.
library(shiny)
library(purrr)
# Create a nested list of all possible filter combinations
filters <- list(
by_Supplement = split(df, df$Supplement),
by_customer = map(filters$by_Supplement, ~split(.x, .x$Customer)),
by_order_number = map(filters$by_customer, ~map(.x, ~split(.x, .x$OrderNumber)))
)
# Define a function to filter the data by a list of filter values
filter_data <- function(data, filters) {
reduce(filters, function(data, filter) {
if (!is.null(filter)) {
data %>% filter(!!!filter)
} else {
data
}
}, .init = data)
}
# Define the Shiny app UI
ui <- fluidPage(
selectInput("Supplement", "Supplement", choices = names(filters$by_Supplement)),
uiOutput("customer"),
uiOutput("order_number"),
tableOutput("table")
)
# Define the Shiny app server
server <- function(input, output, session) {
output$customer <- renderUI({
Supplement_data <- filters$by_Supplement[[input$Supplement]]
selectInput("customer", "Customer", choices = c("", names(Supplement_data)))
})
output$order_number <- renderUI({
Supplement_data <- filters$by_Supplement[[input$Supplement]]
if (!is.null(input$customer)) {
customer_data <- Supplement_data[[input$customer]]
selectInput("order_number", "Order Number", choices = c("", customer_data$OrderNumber))
} else {
selectInput("order_number", "Order Number", choices = "")
}
})
output$table <- renderTable({
filter_values <- list(Supplement = input$Supplement, Customer = input$customer, OrderNumber = input$order_number)
filtered_data <- filter_data(df, map(filters, ~if (!is.null(.x)) .x[[filter_values[[names(.x)]]]]))
filtered_data
})
}
# Run the Shiny app
shinyApp(ui, server)
filter_data()
переходит в output$table
со списком значений фильтра через map()
и имеет текущие выбранные значения всех трех полей выбора, независимо от порядка выбора.
Вот как применить модуль selectizeGroup из библиотеки ( ShinyWidgets) к данным данного примера.
Этот модуль создает
Группа взаимозависимых
selectizeInput
для фильтрации столбцы data.frame (как в Excel).
library(DT)
library(shiny)
library(shinyWidgets)
# csv source: https://github.com/hadley/mastering-shiny/blob/main/sales-dashboard/sales_data_sample.csv
# sales <- read.csv("sales_data_sample.csv")
# dput(head(na.omit(sales[, c("TERRITORY", "CUSTOMERNAME", "ORDERNUMBER")]), 100))
ui <- fluidPage(
fluidRow(
column(width = 10, offset = 1, tags$h3("Filter data with selectize group")),
column(width = 6, offset = 1,
selectizeGroupUI(
id = "my-filters",
params = list(
TERRITORY = list(inputId = "TERRITORY", title = "TERRITORY:"),
CUSTOMERNAME = list(inputId = "CUSTOMERNAME", title = "CUSTOMERNAME:"),
ORDERNUMBER = list(inputId = "ORDERNUMBER", title = "ORDERNUMBER:")
),
inline = TRUE
)),
column(
width = 10, offset = 1,DT::dataTableOutput(outputId = "table")
)
)
)
server <- function(input, output, session) {
filtered_table <- callModule(
module = selectizeGroupServer,
id = "my-filters",
data = sales,
vars = names(sales),
inline = TRUE
)
output$table <- DT::renderDataTable({
datatable(filtered_table(), rownames = FALSE)
})
}
shinyApp(ui, server)
Пример данных:
sales <- structure(list(TERRITORY = c("EMEA", "EMEA", "EMEA", "EMEA",
"EMEA", "APAC", "EMEA", "EMEA", "EMEA", "EMEA", "APAC", "EMEA",
"EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "Japan", "APAC", "EMEA",
"Japan", "APAC", "EMEA", "EMEA", "EMEA", "APAC", "APAC", "EMEA",
"APAC", "EMEA", "EMEA", "EMEA", "Japan", "APAC", "EMEA", "EMEA",
"Japan", "APAC", "APAC", "EMEA", "EMEA", "APAC", "EMEA", "EMEA",
"EMEA", "Japan", "APAC", "EMEA", "EMEA", "Japan", "APAC", "EMEA",
"EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA",
"EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA",
"EMEA", "EMEA", "EMEA", "Japan", "EMEA", "EMEA", "EMEA", "APAC",
"APAC", "APAC", "EMEA", "EMEA", "APAC", "APAC", "APAC", "EMEA",
"Japan", "EMEA", "APAC", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA",
"EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA", "EMEA"
), CUSTOMERNAME = c("Reims Collectables", "Lyon Souveniers",
"Daedalus Designs Imports", "Herkku Gifts", "Auto Canal Petit",
"Australian Collectors, Co.", "La Rochelle Gifts", "Toys of Finland, Co.",
"Baane Mini Imports", "Salzburg Collectables", "Souveniers And Things Co.",
"La Rochelle Gifts", "UK Collectables, Ltd.", "Euro Shopping Channel",
"Baane Mini Imports", "Volvo Model Replicas, Co", "Corrida Auto Replicas, Ltd",
"Dragon Souveniers, Ltd.", "Australian Gift Network, Co", "Saveley & Henriot, Co.",
"Tokyo Collectables, Ltd", "Souveniers And Things Co.", "Amica Models & Co.",
"Scandinavian Gift Ideas", "Auto Assoc. & Cie.", "Australian Collectors, Co.",
"Anna's Decorations, Ltd", "Euro Shopping Channel", "Australian Collectors, Co.",
"Lyon Souveniers", "Daedalus Designs Imports", "Herkku Gifts",
"Osaka Souveniers Co.", "Australian Collectors, Co.", "La Rochelle Gifts",
"Atelier graphique", "Tokyo Collectables, Ltd", "Souveniers And Things Co.",
"Australian Gift Network, Co", "Auto Canal Petit", "Euro Shopping Channel",
"Australian Collectors, Co.", "Lyon Souveniers", "Daedalus Designs Imports",
"Herkku Gifts", "Osaka Souveniers Co.", "Australian Collectors, Co.",
"La Rochelle Gifts", "Toys of Finland, Co.", "Tokyo Collectables, Ltd",
"Australian Gift Network, Co", "UK Collectables, Ltd.", "Euro Shopping Channel",
"Danish Wholesale Imports", "Salzburg Collectables", "Stylish Desk Decors, Co.",
"Toys of Finland, Co.", "Scandinavian Gift Ideas", "Alpha Cognac",
"Double Decker Gift Stores, Ltd", "Enaco Distributors", "Petit Auto",
"giftsbymail.co.uk", "Baane Mini Imports", "Euro Shopping Channel",
"Reims Collectables", "Oulu Toy Supplies, Inc.", "Lyon Souveniers",
"Baane Mini Imports", "La Corne D'abondance, Co.", "Corrida Auto Replicas, Ltd",
"Dragon Souveniers, Ltd.", "Mini Auto Werke", "Stylish Desk Decors, Co.",
"Saveley & Henriot, Co.", "Handji Gifts& Co", "Handji Gifts& Co",
"Souveniers And Things Co.", "Scandinavian Gift Ideas", "Volvo Model Replicas, Co",
"Australian Collectors, Co.", "Anna's Decorations, Ltd", "Anna's Decorations, Ltd",
"La Rochelle Gifts", "Cruz & Sons Co.", "Marseille Mini Autos",
"Anna's Decorations, Ltd", "Herkku Gifts", "Toms Spezialitten, Ltd",
"Euro Shopping Channel", "Auto Canal Petit", "Vida Sport, Ltd",
"Danish Wholesale Imports", "UK Collectables, Ltd.", "L'ordine Souveniers",
"Vida Sport, Ltd", "Blauer See Auto, Co.", "Toms Spezialitten, Ltd",
"Volvo Model Replicas, Co", "Salzburg Collectables"), ORDERNUMBER = c(10121L,
10134L, 10180L, 10188L, 10211L, 10223L, 10275L, 10299L, 10309L,
10341L, 10361L, 10375L, 10403L, 10417L, 10103L, 10112L, 10126L,
10150L, 10174L, 10194L, 10258L, 10270L, 10280L, 10291L, 10304L,
10347L, 10391L, 10424L, 10120L, 10134L, 10180L, 10188L, 10210L,
10223L, 10275L, 10298L, 10339L, 10361L, 10374L, 10402L, 10417L,
10120L, 10134L, 10180L, 10188L, 10210L, 10223L, 10275L, 10299L,
10339L, 10374L, 10403L, 10417L, 10105L, 10119L, 10129L, 10155L,
10167L, 10178L, 10186L, 10197L, 10273L, 10316L, 10325L, 10350L,
10359L, 10373L, 10395L, 10103L, 10114L, 10126L, 10150L, 10164L,
10175L, 10194L, 10217L, 10259L, 10270L, 10291L, 10334L, 10347L,
10370L, 10391L, 10425L, 10108L, 10122L, 10169L, 10181L, 10191L,
10203L, 10211L, 10225L, 10238L, 10253L, 10266L, 10287L, 10300L,
10310L, 10320L, 10341L)), na.action = structure(c(`1` = 1L, `4` = 4L,
`5` = 5L, `6` = 6L, `9` = 9L, `12` = 12L, `13` = 13L, `14` = 14L,
`16` = 16L, `19` = 19L, `20` = 20L, `24` = 24L, `30` = 30L, `32` = 32L,
`34` = 34L, `36` = 36L, `37` = 37L, `38` = 38L, `39` = 39L, `45` = 45L,
`46` = 46L, `47` = 47L, `49` = 49L, `50` = 50L, `51` = 51L, `53` = 53L,
`55` = 55L, `58` = 58L, `59` = 59L, `60` = 60L, `63` = 63L, `66` = 66L,
`67` = 67L, `68` = 68L, `70` = 70L, `72` = 72L, `73` = 73L, `74` = 74L,
`78` = 78L, `81` = 81L, `84` = 84L, `85` = 85L, `86` = 86L, `89` = 89L,
`92` = 92L, `93` = 93L, `94` = 94L, `96` = 96L, `98` = 98L, `99` = 99L,
`100` = 100L, `102` = 102L, `104` = 104L, `110` = 110L, `116` = 116L,
`117` = 117L, `118` = 118L, `119` = 119L, `121` = 121L, `122` = 122L,
`123` = 123L, `126` = 126L, `130` = 130L, `132` = 132L, `133` = 133L,
`137` = 137L, `141` = 141L, `143` = 143L, `145` = 145L, `146` = 146L,
`149` = 149L, `151` = 151L, `152` = 152L, `153` = 153L, `156` = 156L,
`158` = 158L, `160` = 160L, `164` = 164L, `165` = 165L, `166` = 166L,
`176` = 176L, `181` = 181L, `189` = 189L, `190` = 190L, `194` = 194L,
`195` = 195L, `200` = 200L, `201` = 201L, `209` = 209L, `210` = 210L,
`212` = 212L, `214` = 214L, `216` = 216L, `220` = 220L, `222` = 222L,
`224` = 224L, `225` = 225L, `228` = 228L, `231` = 231L, `232` = 232L,
`233` = 233L, `235` = 235L, `237` = 237L, `239` = 239L, `241` = 241L,
`244` = 244L, `245` = 245L, `248` = 248L, `249` = 249L, `252` = 252L,
`253` = 253L, `254` = 254L, `255` = 255L, `256` = 256L, `259` = 259L,
`260` = 260L, `262` = 262L, `264` = 264L, `269` = 269L, `270` = 270L,
`274` = 274L, `275` = 275L, `280` = 280L, `281` = 281L, `285` = 285L,
`290` = 290L, `291` = 291L, `294` = 294L, `295` = 295L, `296` = 296L,
`306` = 306L, `311` = 311L, `314` = 314L, `319` = 319L, `320` = 320L,
`324` = 324L, `325` = 325L, `330` = 330L, `331` = 331L, `337` = 337L,
`340` = 340L, `341` = 341L, `342` = 342L, `345` = 345L, `346` = 346L,
`347` = 347L, `357` = 357L, `362` = 362L, `369` = 369L, `370` = 370L,
`376` = 376L, `377` = 377L, `378` = 378L, `379` = 379L, `382` = 382L,
`383` = 383L, `384` = 384L, `385` = 385L, `387` = 387L, `389` = 389L,
`391` = 391L, `392` = 392L, `397` = 397L, `398` = 398L, `399` = 399L,
`402` = 402L, `413` = 413L, `414` = 414L, `422` = 422L, `424` = 424L,
`428` = 428L, `430` = 430L, `431` = 431L, `432` = 432L, `433` = 433L,
`439` = 439L, `440` = 440L, `441` = 441L, `443` = 443L, `445` = 445L,
`447` = 447L, `449` = 449L, `454` = 454L, `456` = 456L, `457` = 457L,
`463` = 463L, `467` = 467L, `468` = 468L, `471` = 471L, `473` = 473L,
`476` = 476L, `477` = 477L, `480` = 480L, `481` = 481L, `483` = 483L,
`486` = 486L, `493` = 493L, `494` = 494L, `496` = 496L, `498` = 498L,
`501` = 501L, `502` = 502L, `503` = 503L, `506` = 506L, `507` = 507L,
`509` = 509L, `512` = 512L, `519` = 519L, `520` = 520L, `524` = 524L,
`525` = 525L, `527` = 527L, `533` = 533L, `535` = 535L, `536` = 536L,
`538` = 538L, `542` = 542L, `546` = 546L, `547` = 547L, `549` = 549L,
`551` = 551L, `555` = 555L, `556` = 556L, `563` = 563L, `564` = 564L,
`566` = 566L, `569` = 569L, `577` = 577L, `579` = 579L, `581` = 581L,
`582` = 582L, `583` = 583L, `585` = 585L, `587` = 587L, `594` = 594L,
`595` = 595L, `597` = 597L, `599` = 599L, `603` = 603L, `604` = 604L,
`605` = 605L, `608` = 608L, `615` = 615L, `619` = 619L, `620` = 620L,
`627` = 627L, `632` = 632L, `634` = 634L, `635` = 635L, `637` = 637L,
`641` = 641L, `645` = 645L, `646` = 646L, `651` = 651L, `655` = 655L,
`656` = 656L, `662` = 662L, `663` = 663L, `664` = 664L, `668` = 668L,
`669` = 669L, `670` = 670L, `671` = 671L, `673` = 673L, `675` = 675L,
`677` = 677L, `678` = 678L, `681` = 681L, `683` = 683L, `684` = 684L,
`685` = 685L, `687` = 687L, `689` = 689L, `696` = 696L, `699` = 699L,
`701` = 701L, `705` = 705L, `711` = 711L, `712` = 712L, `713` = 713L,
`716` = 716L, `717` = 717L, `718` = 718L, `719` = 719L, `720` = 720L,
`721` = 721L, `723` = 723L, `731` = 731L, `732` = 732L, `733` = 733L,
`735` = 735L, `737` = 737L, `740` = 740L, `744` = 744L, `745` = 745L,
`749` = 749L, `751` = 751L, `757` = 757L, `763` = 763L, `765` = 765L,
`768` = 768L, `769` = 769L, `771` = 771L, `772` = 772L, `773` = 773L,
`776` = 776L, `778` = 778L, `785` = 785L, `786` = 786L, `789` = 789L,
`790` = 790L, `791` = 791L, `795` = 795L, `796` = 796L, `799` = 799L,
`803` = 803L, `805` = 805L, `808` = 808L, `809` = 809L, `810` = 810L,
`813` = 813L, `816` = 816L, `817` = 817L, `818` = 818L, `820` = 820L,
`822` = 822L, `823` = 823L, `824` = 824L, `826` = 826L, `835` = 835L,
`836` = 836L, `838` = 838L, `848` = 848L, `849` = 849L, `853` = 853L,
`855` = 855L, `856` = 856L, `857` = 857L, `862` = 862L, `864` = 864L,
`865` = 865L, `867` = 867L, `871` = 871L, `875` = 875L, `876` = 876L,
`880` = 880L, `887` = 887L, `889` = 889L, `891` = 891L, `892` = 892L,
`893` = 893L, `895` = 895L, `900` = 900L, `901` = 901L, `902` = 902L,
`904` = 904L, `905` = 905L, `906` = 906L, `910` = 910L, `914` = 914L,
`916` = 916L, `918` = 918L, `919` = 919L, `920` = 920L, `922` = 922L,
`927` = 927L, `928` = 928L, `931` = 931L, `932` = 932L, `933` = 933L,
`938` = 938L, `939` = 939L, `945` = 945L, `946` = 946L, `947` = 947L,
`950` = 950L, `952` = 952L, `960` = 960L, `961` = 961L, `963` = 963L,
`967` = 967L, `969` = 969L, `971` = 971L, `972` = 972L, `973` = 973L,
`975` = 975L, `980` = 980L, `981` = 981L, `984` = 984L, `985` = 985L,
`986` = 986L, `992` = 992L, `994` = 994L, `996` = 996L, `997` = 997L,
`1001` = 1001L, `1003` = 1003L, `1012` = 1012L, `1013` = 1013L,
`1015` = 1015L, `1018` = 1018L, `1023` = 1023L, `1025` = 1025L,
`1029` = 1029L, `1030` = 1030L, `1032` = 1032L, `1035` = 1035L,
`1041` = 1041L, `1042` = 1042L, `1043` = 1043L, `1045` = 1045L,
`1047` = 1047L, `1049` = 1049L, `1050` = 1050L, `1051` = 1051L,
`1052` = 1052L, `1055` = 1055L, `1069` = 1069L, `1073` = 1073L,
`1074` = 1074L, `1078` = 1078L, `1080` = 1080L, `1089` = 1089L,
`1090` = 1090L, `1093` = 1093L, `1094` = 1094L, `1095` = 1095L,
`1105` = 1105L, `1109` = 1109L, `1110` = 1110L, `1114` = 1114L,
`1116` = 1116L, `1119` = 1119L, `1120` = 1120L, `1122` = 1122L,
`1124` = 1124L, `1125` = 1125L, `1128` = 1128L, `1130` = 1130L,
`1132` = 1132L, `1134` = 1134L, `1136` = 1136L, `1137` = 1137L,
`1138` = 1138L, `1143` = 1143L, `1144` = 1144L, `1145` = 1145L,
`1155` = 1155L, `1165` = 1165L, `1166` = 1166L, `1171` = 1171L,
`1173` = 1173L, `1174` = 1174L, `1176` = 1176L, `1180` = 1180L,
`1184` = 1184L, `1185` = 1185L, `1187` = 1187L, `1193` = 1193L,
`1194` = 1194L, `1195` = 1195L, `1201` = 1201L, `1203` = 1203L,
`1204` = 1204L, `1208` = 1208L, `1214` = 1214L, `1218` = 1218L,
`1219` = 1219L, `1225` = 1225L, `1226` = 1226L, `1227` = 1227L,
`1230` = 1230L, `1232` = 1232L, `1240` = 1240L, `1244` = 1244L,
`1245` = 1245L, `1249` = 1249L, `1250` = 1250L, `1251` = 1251L,
`1255` = 1255L, `1256` = 1256L, `1257` = 1257L, `1260` = 1260L,
`1261` = 1261L, `1262` = 1262L, `1267` = 1267L, `1268` = 1268L,
`1270` = 1270L, `1272` = 1272L, `1274` = 1274L, `1276` = 1276L,
`1286` = 1286L, `1288` = 1288L, `1293` = 1293L, `1295` = 1295L,
`1297` = 1297L, `1302` = 1302L, `1303` = 1303L, `1305` = 1305L,
`1310` = 1310L, `1314` = 1314L, `1315` = 1315L, `1319` = 1319L,
`1323` = 1323L, `1325` = 1325L, `1327` = 1327L, `1328` = 1328L,
`1331` = 1331L, `1333` = 1333L, `1334` = 1334L, `1338` = 1338L,
`1340` = 1340L, `1341` = 1341L, `1344` = 1344L, `1346` = 1346L,
`1350` = 1350L, `1352` = 1352L, `1353` = 1353L, `1354` = 1354L,
`1355` = 1355L, `1358` = 1358L, `1361` = 1361L, `1362` = 1362L,
`1363` = 1363L, `1367` = 1367L, `1368` = 1368L, `1372` = 1372L,
`1373` = 1373L, `1374` = 1374L, `1382` = 1382L, `1383` = 1383L,
`1387` = 1387L, `1393` = 1393L, `1395` = 1395L, `1399` = 1399L,
`1401` = 1401L, `1405` = 1405L, `1412` = 1412L, `1414` = 1414L,
`1417` = 1417L, `1420` = 1420L, `1421` = 1421L, `1422` = 1422L,
`1423` = 1423L, `1425` = 1425L, `1427` = 1427L, `1432` = 1432L,
`1435` = 1435L, `1437` = 1437L, `1440` = 1440L, `1441` = 1441L,
`1447` = 1447L, `1448` = 1448L, `1453` = 1453L, `1454` = 1454L,
`1455` = 1455L, `1456` = 1456L, `1458` = 1458L, `1460` = 1460L,
`1462` = 1462L, `1467` = 1467L, `1470` = 1470L, `1471` = 1471L,
`1472` = 1472L, `1475` = 1475L, `1478` = 1478L, `1479` = 1479L,
`1480` = 1480L, `1482` = 1482L, `1485` = 1485L, `1486` = 1486L,
`1488` = 1488L, `1498` = 1498L, `1500` = 1500L, `1501` = 1501L,
`1503` = 1503L, `1506` = 1506L, `1510` = 1510L, `1513` = 1513L,
`1515` = 1515L, `1520` = 1520L, `1521` = 1521L, `1524` = 1524L,
`1525` = 1525L, `1530` = 1530L, `1534` = 1534L, `1538` = 1538L,
`1542` = 1542L, `1543` = 1543L, `1544` = 1544L, `1546` = 1546L,
`1551` = 1551L, `1555` = 1555L, `1556` = 1556L, `1560` = 1560L,
`1565` = 1565L, `1568` = 1568L, `1570` = 1570L, `1573` = 1573L,
`1576` = 1576L, `1577` = 1577L, `1578` = 1578L, `1580` = 1580L,
`1582` = 1582L, `1583` = 1583L, `1584` = 1584L, `1594` = 1594L,
`1598` = 1598L, `1603` = 1603L, `1604` = 1604L, `1606` = 1606L,
`1611` = 1611L, `1614` = 1614L, `1615` = 1615L, `1616` = 1616L,
`1619` = 1619L, `1620` = 1620L, `1621` = 1621L, `1623` = 1623L,
`1633` = 1633L, `1634` = 1634L, `1638` = 1638L, `1641` = 1641L,
`1645` = 1645L, `1651` = 1651L, `1653` = 1653L, `1656` = 1656L,
`1657` = 1657L, `1659` = 1659L, `1660` = 1660L, `1661` = 1661L,
`1665` = 1665L, `1666` = 1666L, `1671` = 1671L, `1672` = 1672L,
`1673` = 1673L, `1679` = 1679L, `1681` = 1681L, `1682` = 1682L,
`1683` = 1683L, `1686` = 1686L, `1692` = 1692L, `1695` = 1695L,
`1698` = 1698L, `1699` = 1699L, `1700` = 1700L, `1701` = 1701L,
`1705` = 1705L, `1710` = 1710L, `1712` = 1712L, `1713` = 1713L,
`1715` = 1715L, `1719` = 1719L, `1725` = 1725L, `1726` = 1726L,
`1727` = 1727L, `1728` = 1728L, `1731` = 1731L, `1732` = 1732L,
`1733` = 1733L, `1734` = 1734L, `1736` = 1736L, `1737` = 1737L,
`1738` = 1738L, `1740` = 1740L, `1747` = 1747L, `1748` = 1748L,
`1754` = 1754L, `1755` = 1755L, `1756` = 1756L, `1758` = 1758L,
`1761` = 1761L, `1769` = 1769L, `1772` = 1772L, `1776` = 1776L,
`1777` = 1777L, `1778` = 1778L, `1782` = 1782L, `1788` = 1788L,
`1789` = 1789L, `1791` = 1791L, `1793` = 1793L, `1795` = 1795L,
`1796` = 1796L, `1797` = 1797L, `1798` = 1798L, `1800` = 1800L,
`1807` = 1807L, `1811` = 1811L, `1812` = 1812L, `1815` = 1815L,
`1817` = 1817L, `1823` = 1823L, `1824` = 1824L, `1827` = 1827L,
`1830` = 1830L, `1831` = 1831L, `1832` = 1832L, `1833` = 1833L,
`1835` = 1835L, `1836` = 1836L, `1843` = 1843L, `1844` = 1844L,
`1845` = 1845L, `1847` = 1847L, `1850` = 1850L, `1851` = 1851L,
`1852` = 1852L, `1853` = 1853L, `1857` = 1857L, `1862` = 1862L,
`1864` = 1864L, `1865` = 1865L, `1867` = 1867L, `1871` = 1871L,
`1872` = 1872L, `1873` = 1873L, `1883` = 1883L, `1888` = 1888L,
`1893` = 1893L, `1897` = 1897L, `1898` = 1898L, `1904` = 1904L,
`1905` = 1905L, `1906` = 1906L, `1908` = 1908L, `1911` = 1911L,
`1920` = 1920L, `1923` = 1923L, `1926` = 1926L, `1927` = 1927L,
`1928` = 1928L, `1929` = 1929L, `1931` = 1931L, `1933` = 1933L,
`1938` = 1938L, `1940` = 1940L, `1941` = 1941L, `1943` = 1943L,
`1948` = 1948L, `1954` = 1954L, `1955` = 1955L, `1956` = 1956L,
`1959` = 1959L, `1961` = 1961L, `1967` = 1967L, `1968` = 1968L,
`1969` = 1969L, `1970` = 1970L, `1973` = 1973L, `1974` = 1974L,
`1975` = 1975L, `1978` = 1978L, `1985` = 1985L, `1989` = 1989L,
`1990` = 1990L, `1995` = 1995L, `2000` = 2000L, `2001` = 2001L,
`2003` = 2003L, `2007` = 2007L, `2008` = 2008L, `2009` = 2009L,
`2014` = 2014L, `2023` = 2023L, `2025` = 2025L, `2027` = 2027L,
`2028` = 2028L, `2029` = 2029L, `2031` = 2031L, `2033` = 2033L,
`2036` = 2036L, `2040` = 2040L, `2042` = 2042L, `2043` = 2043L,
`2048` = 2048L, `2049` = 2049L, `2055` = 2055L, `2056` = 2056L,
`2060` = 2060L, `2061` = 2061L, `2062` = 2062L, `2063` = 2063L,
`2067` = 2067L, `2069` = 2069L, `2074` = 2074L, `2077` = 2077L,
`2078` = 2078L, `2080` = 2080L, `2082` = 2082L, `2083` = 2083L,
`2084` = 2084L, `2086` = 2086L, `2089` = 2089L, `2091` = 2091L,
`2092` = 2092L, `2093` = 2093L, `2096` = 2096L, `2097` = 2097L,
`2102` = 2102L, `2103` = 2103L, `2106` = 2106L, `2107` = 2107L,
`2108` = 2108L, `2112` = 2112L, `2113` = 2113L, `2116` = 2116L,
`2121` = 2121L, `2125` = 2125L, `2126` = 2126L, `2127` = 2127L,
`2135` = 2135L, `2136` = 2136L, `2140` = 2140L, `2141` = 2141L,
`2146` = 2146L, `2150` = 2150L, `2156` = 2156L, `2158` = 2158L,
`2159` = 2159L, `2162` = 2162L, `2164` = 2164L, `2165` = 2165L,
`2166` = 2166L, `2167` = 2167L, `2170` = 2170L, `2171` = 2171L,
`2172` = 2172L, `2174` = 2174L, `2177` = 2177L, `2178` = 2178L,
`2182` = 2182L, `2183` = 2183L, `2184` = 2184L, `2186` = 2186L,
`2188` = 2188L, `2189` = 2189L, `2190` = 2190L, `2192` = 2192L,
`2196` = 2196L, `2200` = 2200L, `2201` = 2201L, `2202` = 2202L,
`2208` = 2208L, `2210` = 2210L, `2211` = 2211L, `2212` = 2212L,
`2215` = 2215L, `2216` = 2216L, `2221` = 2221L, `2225` = 2225L,
`2231` = 2231L, `2232` = 2232L, `2233` = 2233L, `2234` = 2234L,
`2237` = 2237L, `2238` = 2238L, `2239` = 2239L, `2240` = 2240L,
`2241` = 2241L, `2243` = 2243L, `2244` = 2244L, `2246` = 2246L,
`2253` = 2253L, `2254` = 2254L, `2259` = 2259L, `2260` = 2260L,
`2264` = 2264L, `2265` = 2265L, `2266` = 2266L, `2273` = 2273L,
`2276` = 2276L, `2278` = 2278L, `2280` = 2280L, `2284` = 2284L,
`2286` = 2286L, `2288` = 2288L, `2289` = 2289L, `2292` = 2292L,
`2295` = 2295L, `2296` = 2296L, `2297` = 2297L, `2301` = 2301L,
`2302` = 2302L, `2308` = 2308L, `2311` = 2311L, `2312` = 2312L,
`2317` = 2317L, `2321` = 2321L, `2324` = 2324L, `2326` = 2326L,
`2330` = 2330L, `2331` = 2331L, `2332` = 2332L, `2338` = 2338L,
`2340` = 2340L, `2341` = 2341L, `2342` = 2342L, `2345` = 2345L,
`2346` = 2346L, `2349` = 2349L, `2351` = 2351L, `2356` = 2356L,
`2358` = 2358L, `2359` = 2359L, `2362` = 2362L, `2363` = 2363L,
`2368` = 2368L, `2372` = 2372L, `2375` = 2375L, `2377` = 2377L,
`2380` = 2380L, `2381` = 2381L, `2387` = 2387L, `2388` = 2388L,
`2393` = 2393L, `2394` = 2394L, `2395` = 2395L, `2396` = 2396L,
`2402` = 2402L, `2409` = 2409L, `2410` = 2410L, `2414` = 2414L,
`2415` = 2415L, `2420` = 2420L, `2421` = 2421L, `2422` = 2422L,
`2426` = 2426L, `2432` = 2432L, `2435` = 2435L, `2436` = 2436L,
`2437` = 2437L, `2443` = 2443L, `2445` = 2445L, `2446` = 2446L,
`2447` = 2447L, `2450` = 2450L, `2451` = 2451L, `2454` = 2454L,
`2456` = 2456L, `2461` = 2461L, `2465` = 2465L, `2468` = 2468L,
`2469` = 2469L, `2470` = 2470L, `2471` = 2471L, `2473` = 2473L,
`2474` = 2474L, `2481` = 2481L, `2482` = 2482L, `2483` = 2483L,
`2487` = 2487L, `2489` = 2489L, `2490` = 2490L, `2493` = 2493L,
`2494` = 2494L, `2499` = 2499L, `2503` = 2503L, `2506` = 2506L,
`2508` = 2508L, `2513` = 2513L, `2515` = 2515L, `2517` = 2517L,
`2518` = 2518L, `2522` = 2522L, `2524` = 2524L, `2529` = 2529L,
`2532` = 2532L, `2534` = 2534L, `2537` = 2537L, `2538` = 2538L,
`2544` = 2544L, `2545` = 2545L, `2546` = 2546L, `2548` = 2548L,
`2549` = 2549L, `2551` = 2551L, `2555` = 2555L, `2560` = 2560L,
`2564` = 2564L, `2565` = 2565L, `2567` = 2567L, `2571` = 2571L,
`2572` = 2572L, `2573` = 2573L, `2578` = 2578L, `2582` = 2582L,
`2587` = 2587L, `2592` = 2592L, `2593` = 2593L, `2596` = 2596L,
`2599` = 2599L, `2600` = 2600L, `2601` = 2601L, `2602` = 2602L,
`2604` = 2604L, `2605` = 2605L, `2614` = 2614L, `2618` = 2618L,
`2622` = 2622L, `2624` = 2624L, `2626` = 2626L, `2627` = 2627L,
`2630` = 2630L, `2633` = 2633L, `2634` = 2634L, `2638` = 2638L,
`2639` = 2639L, `2640` = 2640L, `2645` = 2645L, `2646` = 2646L,
`2650` = 2650L, `2651` = 2651L, `2652` = 2652L, `2654` = 2654L,
`2656` = 2656L, `2657` = 2657L, `2660` = 2660L, `2663` = 2663L,
`2665` = 2665L, `2669` = 2669L, `2671` = 2671L, `2672` = 2672L,
`2675` = 2675L, `2676` = 2676L, `2681` = 2681L, `2685` = 2685L,
`2690` = 2690L, `2695` = 2695L, `2699` = 2699L, `2702` = 2702L,
`2704` = 2704L, `2705` = 2705L, `2707` = 2707L, `2708` = 2708L,
`2712` = 2712L, `2717` = 2717L, `2721` = 2721L, `2725` = 2725L,
`2728` = 2728L, `2730` = 2730L, `2731` = 2731L, `2733` = 2733L,
`2734` = 2734L, `2738` = 2738L, `2743` = 2743L, `2746` = 2746L,
`2747` = 2747L, `2749` = 2749L, `2753` = 2753L, `2754` = 2754L,
`2755` = 2755L, `2760` = 2760L, `2764` = 2764L, `2769` = 2769L,
`2773` = 2773L, `2774` = 2774L, `2780` = 2780L, `2781` = 2781L,
`2782` = 2782L, `2784` = 2784L, `2785` = 2785L, `2787` = 2787L,
`2789` = 2789L, `2791` = 2791L, `2796` = 2796L, `2801` = 2801L,
`2805` = 2805L, `2808` = 2808L, `2810` = 2810L, `2811` = 2811L,
`2813` = 2813L, `2818` = 2818L, `2823` = 2823L), class = "omit"), row.names = c(2L,
3L, 7L, 8L, 10L, 11L, 15L, 17L, 18L, 21L, 22L, 23L, 25L, 26L,
27L, 28L, 29L, 31L, 33L, 35L, 40L, 41L, 42L, 43L, 44L, 48L, 52L,
54L, 56L, 57L, 61L, 62L, 64L, 65L, 69L, 71L, 75L, 76L, 77L, 79L,
80L, 82L, 83L, 87L, 88L, 90L, 91L, 95L, 97L, 101L, 103L, 105L,
106L, 107L, 108L, 109L, 111L, 112L, 113L, 114L, 115L, 120L, 124L,
125L, 127L, 128L, 129L, 131L, 134L, 135L, 136L, 138L, 139L, 140L,
142L, 144L, 147L, 148L, 150L, 154L, 155L, 157L, 159L, 161L, 162L,
163L, 167L, 168L, 169L, 170L, 171L, 172L, 173L, 174L, 175L, 177L,
178L, 179L, 180L, 182L), class = "data.frame")
Вы можете найти {shinyTree} ( github.com/shinyTree/shinyTree) полезным. Он предлагает вам сворачиваемое/расширяемое иерархическое дерево флажков, а также поле ввода для глубокого поиска узлов дерева.