我正在使用数据表编写一个闪亮的应用程序,我想制作一些小方块来解释每个列的含义。理想情况下,当您将光标移动到列的名称上时,我希望它们出现。
这是一个应用程序:
ui.R
library(shiny)
data(iris)
shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
fluidRow(
column(12,
wellPanel(
radioButtons("species", label="Species:",
choices=levels(iris$Species),
selected=levels(iris$Species)[1]
)
)
)
)
),
mainPanel(
fluidRow(column(12,
dataTableOutput("table1")
)
)
)
)
)
)
server.R
library(shiny)
library(dplyr)
library(tidyr)
data(iris)
shinyServer(function(input, output) {
iris1 <- reactive({
iris %>%
filter(Species %in% input$species)
})
output$table1 <- renderDataTable({
iris1()
})
})
当你将courser移到Species列名称上时,我希望有这样的感觉:
甚至可能吗?请帮忙。
答案 0 :(得分:3)
感谢this我设法制作了我想要的输出:
ui.R - 没有任何更改
<强> server.R 强>
library(shiny)
library(dplyr)
library(tidyr)
data(iris)
shinyServer(function(input, output) {
iris1 <- reactive({
iris %>%
filter(Species %in% input$species)
})
output$table1 <- renderDataTable(iris1(), callback = htmlwidgets::JS("
var tips = ['Row Names', 'The Sepal Length', 'The Sepal Width',
'The Petal Length', 'The Petal Width'],
header = table.columns().header();
for (var i = 0; i < tips.length; i++) {
$(header[i]).attr('title', tips[i]);
}
"))
})
它使JavaScript变量tips
中定义了解释框。