我正試圖在一個閃亮的應用程式中創建帶有選擇輸入的動態標簽盒
。
我得到了帶有正確標簽的選項卡
。
然而,gt表似乎不能正確更新
。
它只在所有標簽中產生相同的gt表
我的實際資料是一個具有多個資料幀的串列
我的資料是一個具有多個資料幀的串列
我有什么想法嗎?
有什么想法,我在哪里出了問題?
我試圖沿著這個示例
library(shiny)
library(tidyverse)
library(gt)
library(shinydashboard)
d <- list()
data.frame()
state = c("ny"/span>, "ny", "ny"), "ny" ,
name = c("joe"。 "john", "jim"), "jim" ,
寵物 = c("cat"。 "貓", "貓,狗"), "貓" ,
年齡 = c(34。 35, 36)
),
data.frame()
state = c("ak"。 "ak", "ak"),
name = c("jane"。 "dan", "don"), ,
寵物 = c("蛇,貓"。 "蛇,貓", "蛇"),
年齡 = c(34。 35, 36)
),
data.frame()
state = c("fl"/span>。 "fl", "fl"), "fl" ,
name = c("mat"。 "Lucy", "noel"), "noel" >
寵物 = c("fish"。 "fish, dog", "fish"),
年齡 = c(34。 35, 36)
)
)
raw < - rbind(d[[1]] 。 d[[2]] 。 d[[3]] )
shinyApp()
ui = fluidPage()
selectizeInput("pick_keys",)
"Pick keywords",
choices = NULL,
selected = NULL,
multiple = TRUE,
options = NULL),
# textOutput("text"),
# dynamic UI for gt tables >。
uiOutput("table")
),
server = function(input, 輸出,會話){
updateSelectizeInput(session, "pick_keys"/span>, 選擇 = raw$pet。 server = TRUE)
search_keys <- reactive({)
paste(input$pick_keys, 崩潰= "|")
})
mylist <- eventReactive(input$pick_keys, {)
df <- raw %>%
filter(str_detect(pet, as. 字符(search_keys()))) %> %
group_split(state)
return(DF)
})。
observeEvent(mylist(), {>
# 在網頁中插入正確數量的表格輸出物件
output$tables <- renderUI({)
# 輸出物件的串列 # 輸出物件的串列
table_output_list <- list()
for(i in 1。 length(mylist())){
tablename < -粘貼("table"。 i, sep=")
table_output_list[i] <- tagList()
tabPanel()
title= unique(mylist()[[i]]$state)。
gt_output(tablename)
)。
)
}
do.call(tabBox, table_output_list)
})
for (i in 1。 length(mylist())){
本地({)
my_i <- i
tablename <- paste()
"table",
my_i,.
sep = "")
output[[tablename] < - render_gt({)
mylist()[[i]] %> %
gt()
})
})
}
})
}
)
uj5u.com熱心網友回復:
試試這個
local({)
my_i <- i
#tablename <- paste0("table", my_i)
output[[paste0("table", my_i)] < - render_gt({)
mylist()[[my_i]] %> %
gt()
})
})
它對我來說很好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332209.html
標籤:
