R shiny:编辑 table 输出的格式
R shiny: Edit the format of a table output
我正在使用 shiny(带有 renderTable 和 tableOutput)输出一个 table,有没有办法编辑 table 的格式和 table.
具体我想
- 使用逗号作为 1000 superator(即将 1234567 更改为 1,234,567)
- 在 one 列
中的每个值前放置一个 £ 符号
- 将最后一行加粗
- 删除行名称
所以如果你采用闪亮的反应性,例如举个例子
runExample('03_reactivity')
这会输出一个table 'view',它的server.R代码是
output$view <- renderTable({
head(datasetInput(), n = input$obs)
})
它的 ui.R 代码是
tableOutput("view")
在这个例子中我想输出
area peri shape perm
£4,990 2,791.90 0.09 6.30
£7,002 3,892.60 0.15 6.30
£7,558 3,930.66 0.18 6.30
£7,352 3,869.32 0.12 6.30
£7,943 3,948.54 0.12 17.10
£7,979 4,010.15 0.17 17.10
£9,333 4,345.75 0.19 17.10
£8,209 4,344.75 0.16 17.10
£8,393 3,682.04 0.20 119.00
£6,425 3,098.65 0.16 119.00
(header 仍然是粗体,底行也是粗体,事实证明 Whosebug 同样难以获得我想要的格式;))
您好,我已经在我的回答中添加了评论,希望这会有所帮助。查看 Datatables 此处了解有关如何自定义表格的更多信息。
rm(list = ls())
library(shiny)
library(scales)
# Sample Data
area <- seq(from=10,to=100, by=10)
peri <- seq(from=2710.1,to=2800.1, by=10)
shape <- seq(from=0.1,to=1, by=0.1)
perm <- seq(from=1,to=100, by=10)
my_data <- as.data.frame(cbind(area,peri,shape,perm))
ui = fluidPage(
sidebarLayout(
sidebarPanel(),
mainPanel(
tableOutput("view"),
#4 Make the final row bold using tags$style
tags$style(type="text/css", "#view tr:last-child {font-weight:bold;}")
),
)
)
server = function(input, output) {
output$view <- renderTable({
test <- my_data
#1 Comma Seperator as 1000: you can use the library(scales) and the comma function
test$peri<-comma(test$peri)
#2 Out the "£" sign before every value in column 1 (or any column): you can use paste0
test$area <- paste0("£",test$area)
test
#3 Remove row names : use inlcude.rownames=FALSE
},include.rownames=FALSE)
}
runApp(list(ui = ui, server = server))
我正在使用 shiny(带有 renderTable 和 tableOutput)输出一个 table,有没有办法编辑 table 的格式和 table.
具体我想
- 使用逗号作为 1000 superator(即将 1234567 更改为 1,234,567)
- 在 one 列 中的每个值前放置一个 £ 符号
- 将最后一行加粗
- 删除行名称
所以如果你采用闪亮的反应性,例如举个例子
runExample('03_reactivity')
这会输出一个table 'view',它的server.R代码是
output$view <- renderTable({
head(datasetInput(), n = input$obs)
})
它的 ui.R 代码是
tableOutput("view")
在这个例子中我想输出
area peri shape perm
£4,990 2,791.90 0.09 6.30
£7,002 3,892.60 0.15 6.30
£7,558 3,930.66 0.18 6.30
£7,352 3,869.32 0.12 6.30
£7,943 3,948.54 0.12 17.10
£7,979 4,010.15 0.17 17.10
£9,333 4,345.75 0.19 17.10
£8,209 4,344.75 0.16 17.10
£8,393 3,682.04 0.20 119.00
£6,425 3,098.65 0.16 119.00
(header 仍然是粗体,底行也是粗体,事实证明 Whosebug 同样难以获得我想要的格式;))
您好,我已经在我的回答中添加了评论,希望这会有所帮助。查看 Datatables 此处了解有关如何自定义表格的更多信息。
rm(list = ls())
library(shiny)
library(scales)
# Sample Data
area <- seq(from=10,to=100, by=10)
peri <- seq(from=2710.1,to=2800.1, by=10)
shape <- seq(from=0.1,to=1, by=0.1)
perm <- seq(from=1,to=100, by=10)
my_data <- as.data.frame(cbind(area,peri,shape,perm))
ui = fluidPage(
sidebarLayout(
sidebarPanel(),
mainPanel(
tableOutput("view"),
#4 Make the final row bold using tags$style
tags$style(type="text/css", "#view tr:last-child {font-weight:bold;}")
),
)
)
server = function(input, output) {
output$view <- renderTable({
test <- my_data
#1 Comma Seperator as 1000: you can use the library(scales) and the comma function
test$peri<-comma(test$peri)
#2 Out the "£" sign before every value in column 1 (or any column): you can use paste0
test$area <- paste0("£",test$area)
test
#3 Remove row names : use inlcude.rownames=FALSE
},include.rownames=FALSE)
}
runApp(list(ui = ui, server = server))