を使用して、光沢のあるカテゴリ (数値ではなく) スライダーを作成しようとしていますsliderInput
。ここでのディーン アタリの回答 (対数スケールのシャイニー スライダー)のおかげで、スライダーを作成できました。
ただし、スライダーを作成して、server
および を介して UI に渡す必要がrenderUI
ありuiOutput
ます。しかし、サーバー側sliderInput
の呼び出しに移動すると、機能しなくなります。renderUI
2 つの例を次に示します。最初の例はカテゴリ スライダーがどのように機能するか ( renderUI
/を使用しない場合uiOutput
) を示し、2 つ目はカテゴリ スライダーがどのように機能しないか ( renderUI
/を使用する場合uiOutput
) を示します。
動作例 (UI で作成されたスライダー)
library(shiny)
JScode <-
"$(function() {
setTimeout(function(){
var names = ['Unrated', 'Emerging', ' ', 'Formative', ' ', ' ', 'Developed', ' '];
var vals = [];
for (i = 0; i < names.length; i++) {
var val = names[i];
vals.push(val);
}
$('#pvalue').data('ionRangeSlider').update({'values':vals})
}, 7)})"
runApp(shinyApp(
ui = fluidPage(
tags$head(tags$script(HTML(JScode))),
textOutput('texty'),
sliderInput("pvalue",
"PValue:",
min = 0,
max = 7,
value = 0
)
),
server = function(input, output, session) {
output$texty <- renderText({
input$pvalue
})
}
))
動作しない例 ( で作成されたスライダーserver
)
library(shiny)
JScode <-
"$(function() {
setTimeout(function(){
var names = ['Unrated', 'Emerging', ' ', 'Formative', ' ', ' ', 'Developed', ' '];
var vals = [];
for (i = 0; i < names.length; i++) {
var val = names[i];
vals.push(val);
}
$('#pvalue').data('ionRangeSlider').update({'values':vals})
}, 7)})"
runApp(shinyApp(
ui = fluidPage(
tags$head(tags$script(HTML(JScode))),
textOutput('texty'),
uiOutput('uu')
),
server = function(input, output, session) {
output$texty <- renderText({
input$pvalue
})
output$uu <- renderUI({
sliderInput("pvalue",
"PValue:",
min = 0,
max = 7,
value = 0
)
})
}
))
でスライダーが生成されたときに、スライダーに (数値ではなく) カテゴリを表示するにはどうすればよいserver
ですか?