gpt4 book ai didi

r - 更改 renderDataTable 中的数字格式

转载 作者:行者123 更新时间:2023-12-01 16:35:52 27 4
gpt4 key购买 nike

如何在 Shiny 中定义数据表的数字格式?我只想为某些列显示 2 位十进制数字,但不明白应该在我的应用程序中定义它。在 server.Rui.R 中?在 server.R 中,这是我在 renderDataTable 中的内容:

  output$woeTable <- renderDataTable({
input$tryTree
input$threshold
# The following returns data frame with numeric columns
get(input$dfDescr)[['variables']][[input$columns]][['woe']]
},
options=list(
paging = FALSE,
searching = FALSE)
)

如何设置第二列和第三列的格式以仅显示两位小数?

最佳答案

只需使用圆形命令:

  output$woeTable <- renderDataTable({
input$tryTree
input$threshold
# The following returns data frame with numeric columns
A = get(input$dfDescr)[['variables']][[input$columns]][['woe']]
A[,2] = round(x = A[,2],digits = 2)
A[,3] = round(x = A[,3],digits = 2)
A
},
options=list(
paging = FALSE,
searching = FALSE)
)

如果您坚持保留更多数字的数据并仅更改输出中的表示形式,您还可以在 renderDataTable 函数中使用 fnRowCallback 选项:

 output$woeTable <- renderDataTable({
input$tryTree
input$threshold
# The following returns data frame with numeric columns
get(input$dfDescr)[['variables']][[input$columns]][['woe']]
},
options=list(
paging = FALSE,
searching = FALSE,
fnRowCallback = I("function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {ind = 2; $('td:eq('+ind+')', nRow).html( (aData[ind]).toFixed(2) );}"))
)

DT 1.1 更新:

你应该改变

fnRowCallback = I("function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {ind = 2; $('td:eq('+ind+')', nRow).html( (aData[ind]).toFixed(2) );}"))

rowCallback = I("function( nRow, aData) {ind = 2; $('td:eq('+ind+')', nRow).html( parseFloat(aData[ind]).toFixed(2) );}"))

关于r - 更改 renderDataTable 中的数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com