在R shiny应用程序中评级Stars

gt0wga4j  于 2023-02-17  发布在  其他
关注(0)|答案(2)|浏览(170)

我想给我的应用添加一些元素,让它看起来更好。因此,我使用了新的shiny.semantic包,它允许以一种简单的方式添加语义UI元素。你可以在这里找到一些语义元素的例子:http://demo.appsilondatascience.com/shiny.semantic/components/
我想用下面的代码添加一个星级用户界面:

library(shiny)
#devtools::install_github("Appsilon/shiny.semantic")
library(shiny.semantic)

ui <- function() {
  shinyUI(
    semanticPage(
      title = "My page",
      suppressDependencies("bootstrap"),
      div(class = "ui star rating")
    )
  )
}

server <- shinyServer(function(input, output) {
})

shinyApp(ui = ui(), server = server)

不幸的是,应用程序中没有显示评级星级。有没有其他方法可以将此类评级星级添加到闪亮的应用程序中?

rqmkfv5c

rqmkfv5c1#

您需要使用Javascript代码进行初始化

用户名

library(shiny)
library(shiny.semantic)

shinyUI(semanticPage(
  shinyjs::useShinyjs(),
  div(class = "ui star rating")
))

服务器。R

library(shiny)
library(shinyjs)
jsCode <- "
$('.ui.rating')
  .rating({
    initialRating: 3,
    maxRating: 5
  })
;
"

shinyServer(function(input, output) {
  runjs(jsCode)
})
aiazj4mn

aiazj4mn2#

另一种方法是使用我的shinyRatings包。https://github.com/shahronak47/shinyRatings

#Installation of the package from Github
#devtools::install_github('shahronak47/shinyRatings')

library(shiny)
library(shinyRatings)
library(shiny.semantic)

ui <- semanticPage(
  shinyRatings('star'), 
  textOutput('text')
)

server <- function(input, output, session) {
  output$text <- renderText({paste("No. of stars : ", input$star)})
}

shinyApp(ui, server)

相关问题