【发布时间】:2017-04-19 18:41:54
【问题描述】:
我有一个闪亮的应用程序,用户可以检查他们是否希望数据表显示在主面板中。根据数字输入,如果他们选择 1,则只显示 1 个数据表,或者如果他们选择 2,它将显示 2 个数据表我不太确定如何在闪亮的 R 中编码,因为我是新手。感谢您对此进行调查。 这是我的代码
library("shiny")
df1 <- data.frame("2010-01"=double(),
"2010-02"=double(),
"2010-03"=double(),
"2010-04"=double()
)
df1<-rbind(df1,setNames(as.list(c(10,20,30,40)), names(df2)))
df2 <- data.frame("2010-01"=double(),
"2010-02"=double(),
"2010-03"=double(),
"2010-04"=double()
)
df2<-rbind(df2,setNames(as.list(c(100,200,300,400)), names(df2)))
df3 <- data.frame("2010-01"=double(),
"2010-02"=double(),
"2010-03"=double(),
"2010-04"=double()
)
df3<-rbind(df3,setNames(as.list(c(1000,2000,3000,4000)), names(df2)))
ui <-fluidPage(
sidebarPanel(
checkboxInput("add_data", "Add Data Table(s)"),
conditionalPanel(condition="input.add_data === true",
numericInput("numofdata",
label="Number of Data Table(s):",
min = 1,
max = 3,
value = 1,
step = 1),
uiOutput("num_of_data"),
textOutput("see_ranges")
),
actionButton("submit", "Submit")
),
mainPanel(
titlePanel("Output Data Table"),
DT::dataTableOutput("datatable.view", width = "95%")
) # end of main panel
)
server <- function(input, output, session) {
output$num_of_data <- renderUI({
lapply(1:input$numofdata, function(i) {
print(trend_list())
})
})
output$see_ranges <- renderPrint({
print(trend_list())
})
data.filter <- reactive({
df(i)
})
output$datatable.view <- DT::renderDataTable(
{
input$submit
if (input$submit==0) return()
isolate({
for(i in 1:input$numoftrends) {
datatable(data.filter(i),
rownames=FALSE,
extensions = c("FixedColumns", "FixedHeader", "Scroller"),
options = list(searching=FALSE,
autoWidth=TRUE,
rownames=FALSE,
scroller=TRUE,
scrollX=TRUE,
pagelength=1,
fixedHeader=TRUE,
class='cell-border stripe',
fixedColumns =
list(leftColumns=2,heightMatch='none')
)
)
}
})
})
}
shinyApp(ui = ui, server = server)
【问题讨论】:
-
您要显示哪些表格?如果用户选择
1,是否要显示df1,如果是2,是否显示df1和df2,如果是3,是否显示全部三个?这仅限于 3 张桌子吗? -
您创建数据集的代码似乎不起作用!
-
您好-是的,如果用户选择 1,我想显示 df1 ,如果他选择 3 ,则显示所有三个 df1 df2 和 df3 。它不限于3张桌子。它可能不止于此。我完全同意当用户尝试显示数据框时我的代码不起作用。我是 R 和闪亮的新手,非常感谢您的帮助。谢谢
标签: r for-loop shiny lapply dt