有没有办法在反应数据上使用shinyWidget中的pickerGroup(或selectizeGroup)模块?
我有一个闪亮的应用程序,在侧边栏中有一个第一个Selectizegroup模块,可以过滤3个变量的数据。我想把第二个selectize或pickergroup模块放在一个选项卡面板中,以生成一些带有在补充变量2上过滤的数据的绘图。但是我发现没有办法将pickerGroup模块应用于使用第一个group模块获得的反应数据 我已经试着用isolate()、update()、observeEvent()来实现它,但我总是失败 我的数据库的一个简单示例:有没有办法在反应数据上使用shinyWidget中的pickerGroup(或selectizeGroup)模块?,r,shiny,reactive,R,Shiny,Reactive,我有一个闪亮的应用程序,在侧边栏中有一个第一个Selectizegroup模块,可以过滤3个变量的数据。我想把第二个selectize或pickergroup模块放在一个选项卡面板中,以生成一些带有在补充变量2上过滤的数据的绘图。但是我发现没有办法将pickerGroup模块应用于使用第一个group模块获得的反应数据 我已经试着用isolate()、update()、observeEvent()来实现它,但我总是失败 我的数据库的一个简单示例: base <- structure(lis
base <- structure(list(annee = c(2017, 2018, 2017, 2016, 2018, 2017,
2017, 2018, 2018, 2016),
code_composante = structure(c(2L, 1L,2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L),
.Label = c("APS", "FSI"),
class = "factor"),
code_etape = structure(c(25L, 26L, 21L, 28L, 16L, 16L, 12L, 13L, 21L, 28L),
.Label = c("EP3CHE", "EP3EEE", "EP3GCE", "EP3INE", "EP3MAE", "EP3MEE", "EP3PHE", "EP40EE", "EP40GE", "EP40IE", "EP40KE", "EPCHIE", "EPCHSE", "EPEEAE", "EPGCCE", "EPINFE", "EPMACE", "EPMASE", "EPMATE", "EPMECE", "EPMIAE", "EPPHPE", "EPPHSE", "EPSDTE", "EPSDVE", "SP3SCE", "SP40PE", "SPAPSE"),
class = "factor"),
particularite = structure(c(3L,1L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 3L),
.Label = c("3LA", "4LA","Classique", "Parcours spécial"),
class = "factor"),
origine_gen2 = structure(c(1L, 3L, 3L, 4L, 4L, 3L, 4L, 1L, 3L, 3L),
.Label = c("Bacheliers antérieurs", "Flux latéral", "Néo-bacheliers", "Redoublement ", "Réorientation "),
class = "factor"),
code_resultat = structure(c(2L, 4L, 2L, 3L, 4L, 3L, 3L, 4L, 4L, 1L),
.Label = c("Admis", "Ajourné","Défaillant / démissionnaire", "Donnée manquante", "Réorientation (à affiner)"), class = "factor"),
poursuite = structure(c(4L, 3L, 4L,6L, 3L, 6L, 4L, 3L, 3L, 2L),
.Label = c("Année supérieure - Flux latéral","Année supérieure - Flux normal", "Non déterminé", "Redoublement", "Réorientation", "Sortie UPS - Echec", "Sortie UPS - Réussite" ),
class = "factor")),
class = c("tbl_df", "tbl", "data.frame" ),
row.names = c(NA, -10L))
base%
dplyr::ungroup()
饼图您可以调用无功导体内的模块:
filtered_flowchart_data <- reactive({
x <- callModule(
module = shinyWidgets::pickerGroupServer,
id = "filterset_flowchart",
data = filtered_data() %>%
droplevels() %>%
dplyr::mutate_if(is.factor, as.character),
vars = c("origine_gen2", "code_resultat")
)
x()
})
filtered\u流程图\u数据%
dplyr::mutate_if(is.factor,as.character),
vars=c(“源代码”\u gen2;“代码”\u结果”)
)
x()
})
如果有问题,您也可以尝试
filtered_flowchart_data <- reactive({
callModule(
module = shinyWidgets::pickerGroupServer,
id = "filterset_flowchart",
data = filtered_data() %>%
droplevels() %>%
dplyr::mutate_if(is.factor, as.character),
vars = c("origine_gen2", "code_resultat")
)
})
filtered\u流程图\u数据%
液滴液位()%>%
dplyr::mutate_if(is.factor,as.character),
vars=c(“源代码”\u gen2;“代码”\u结果”)
)
})
然后通过执行filtered\u流程图_data()()
获得数据。您可以调用无功导体内的模块:
filtered_flowchart_data <- reactive({
x <- callModule(
module = shinyWidgets::pickerGroupServer,
id = "filterset_flowchart",
data = filtered_data() %>%
droplevels() %>%
dplyr::mutate_if(is.factor, as.character),
vars = c("origine_gen2", "code_resultat")
)
x()
})
filtered\u流程图\u数据%
dplyr::mutate_if(is.factor,as.character),
vars=c(“源代码”\u gen2;“代码”\u结果”)
)
x()
})
如果有问题,您也可以尝试
filtered_flowchart_data <- reactive({
callModule(
module = shinyWidgets::pickerGroupServer,
id = "filterset_flowchart",
data = filtered_data() %>%
droplevels() %>%
dplyr::mutate_if(is.factor, as.character),
vars = c("origine_gen2", "code_resultat")
)
})
filtered\u流程图\u数据%
液滴液位()%>%
dplyr::mutate_if(is.factor,as.character),
vars=c(“源代码”\u gen2;“代码”\u结果”)
)
})
然后您通过执行过滤流程图_data()()
来获取数据。谢谢您的回答,Stéphane,第二个命题完成了任务
filtered_flowchart_data <- reactive({
callModule(
module = shinyWidgets::pickerGroupServer,
id = "filterset_flowchart",
data = filtered_data() %>%
droplevels() %>%
dplyr::mutate_if(is.factor, as.character),
vars = c("origine_gen2", "code_resultat")
)})
我不知道它是否很干净,我从来没有使用过或看到过double()(),但结果非常完美:)谢谢你的回答,Stéphane,第二个命题完成了
filtered_flowchart_data <- reactive({
callModule(
module = shinyWidgets::pickerGroupServer,
id = "filterset_flowchart",
data = filtered_data() %>%
droplevels() %>%
dplyr::mutate_if(is.factor, as.character),
vars = c("origine_gen2", "code_resultat")
)})
我不知道它是否很干净,我从未使用过或看到过double(),但结果非常完美:)