首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问反应表中的列名,以便使用DT包进行格式化

访问反应表中的列名,以便使用DT包进行格式化
EN

Stack Overflow用户
提问于 2017-08-16 04:13:06
回答 1查看 3.8K关注 0票数 1

我正在尝试在一个闪亮的应用程序中格式化一个反应表,并使用DT包显示它。有很多关于如何使用非反应表来做到这一点的例子,比如:https://rstudio.github.io/DT/010-style.html。但是,当我尝试以同样的方式使用来自反应函数的输出时,我得到一个列名称错误。下面是一个示例:

代码语言:javascript
运行
复制
library(shiny)
library(DT)


ui <- fluidPage(
  fluidRow(
    column(3,numericInput("nrows","Enter the number of rows",value=10)),
    column(9,DT::dataTableOutput("table"))
  )
)
server <- function(input, output, session) {

  cars2 <- reactive({
    cars <- datasets::cars
    cars2 <- cars[1:input$nrows,]
    return(cars2)
  })

  output$table <- DT::renderDataTable(cars2()%>% formatStyle( 'speed',backgroundColor = c('yellow')),options=list(pageLength=50))


}


shinyApp(ui=ui,server=server)

下面是错误

代码语言:javascript
运行
复制
Warning: Error in name2int: You specified the columns: speed, but the column names of the data are 
Stack trace (innermost first):
    94: name2int
    93: appendFormatter
    92: formatColumns
    91: formatStyle
    90: function_list[[k]]
    89: withVisible
    88: freduce
    87: _fseq
    86: eval
    85: eval
    84: withVisible
    83: %>%
    82: exprFunc
    81: widgetFunc
    80: func
    79: origRenderFunc
    78: renderFunc
    77: origRenderFunc
    76: output$table
     1: runApp
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-16 04:51:45

这是可行的:

代码语言:javascript
运行
复制
server <- function(input, output, session) {

  cars2 <- reactive({

    cars <- datasets::cars
    cars2 <- cars[1:input$nrows,]
    return(cars2)

  })

  output$table <- renderDataTable({

    datatable(cars2(), options = list(pageLength = 50)) %>%
      formatStyle('speed', backgroundColor = 'yellow')

  })

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45700805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档