【发布时间】:2018-07-30 06:21:57
【问题描述】:
当我在 R 中尝试以下代码时,数据表完美呈现按钮列中不同数量的“x”按钮。
data <- iris[1:20,1:2]
data$Button <- lapply(paste0("x",1:20),function(x) paste(rep(as.character(actionButton(x,label="x")),sample(1:3,1)),collapse=" ",sep=" "))
datatable(data)
但是当我尝试在闪亮的应用程序中包装数据框时,一页上的每一行中总是有相同数量的“x”按钮。可重现的代码:
library(shiny)
library(DT)
server <- function(input, output) {
output$mytab <- renderDataTable({
data <- iris[1:20,1:2]
data$Button <- lapply(paste0("x",1:20),function(x) paste(rep(as.character(actionButton(x,label="x")),sample(1:3,1)),collapse=" ",sep=" "))
datatable(data)
})
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
),
mainPanel(dataTableOutput("mytab"))
)
)
shinyApp(ui = ui, server = server)
然后弹出如下错误。
Warning in `[<-.data.frame`(`*tmp*`, , j, value = list("<button id=\"x1\" type=\"button\" class=\"btn btn-default action-button\">x</button>", :
provided 10 variables to replace 1 variables
有什么建议可以解决这个问题吗?
System Information
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.3
[1] DT_0.2.12 shiny_1.0.5
【问题讨论】:
标签: r shiny data.table