从特定列创建 varSelectInput
Create a varSelectInput from a specific columns
我有这个数据集ao_summary
full_name matches gender aces double_faults bp_won_pctg highlight
1 Alexander Zverev 5 M 86 21 22 TRUE
2 Aryna Sabalenka 4 F 20 17 19 FALSE
3 Ashleigh Barty 5 F 24 15 23 FALSE
4 Aslan Karatsev 6 M 54 20 34 FALSE
5 Daniil Medvedev 7 M 80 21 37 FALSE
6 Donna Vekic 4 F 15 19 18 FALSE
7 Grigor Dimitrov 5 M 51 14 23 FALSE
8 Jennifer Brady 7 F 34 17 29 FALSE
9 Karolina Muchova 6 F 17 13 29 FALSE
10 Karolina Pliskova 3 F 19 16 15 FALSE
11 Milos Raonic 4 M 82 16 17 FALSE
12 Naomi Osaka 7 F 50 22 29 FALSE
13 Novak Djokovic 7 M 103 23 37 FALSE
14 Serena Williams 6 F 35 16 27 FALSE
15 Stefanos Tsitsipas 6 M 46 17 22 FALSE
我想为 full_name
列创建一个 varSelectInput,能够 select 列表中的玩家名称,我该怎么做?
我试过:
renderUI ({
varSelectInput(
inputId = "PlayerName",
label = "Select Player",
data = the_data()[, c("full_name")],
selected = "Novak Djokovic"
)
})
the_data()
是在服务器中创建的反应数据。
如有任何帮助,我将不胜感激。
我相信你真的想要 selectInput
和 choices =
library(shiny)
ui <- fluidPage(
uiOutput('select')
)
server <- function(input, output) {
ao_summary <- reactiveVal()
ao_summary(structure(list(full_name = c("Alexander Zverev", "Aryna Sabalenka",
"Ashleigh Barty", "Aslan Karatsev", "Daniil Medvedev", "Donna Vekic",
"Grigor Dimitrov", "Jennifer Brady", "Karolina Muchova", "Karolina Pliskova",
"Milos Raonic", "Naomi Osaka", "Novak Djokovic", "Serena Williams",
"Stefanos Tsitsipas"), matches = c(5L, 4L, 5L, 6L, 7L, 4L, 5L,
7L, 6L, 3L, 4L, 7L, 7L, 6L, 6L), gender = c("M", "F", "F", "M",
"M", "F", "M", "F", "F", "F", "M", "F", "M", "F", "M"), aces = c(86L,
20L, 24L, 54L, 80L, 15L, 51L, 34L, 17L, 19L, 82L, 50L, 103L,
35L, 46L), double_faults = c(21L, 17L, 15L, 20L, 21L, 19L, 14L,
17L, 13L, 16L, 16L, 22L, 23L, 16L, 17L), bp_won_pctg = c(22L,
19L, 23L, 34L, 37L, 18L, 23L, 29L, 29L, 15L, 17L, 29L, 37L, 27L,
22L), highlight = c(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE
)), class = "data.frame", row.names = c("1", "2", "3", "4", "5",
"6", "7", "8", "9", "10", "11", "12", "13", "14", "15")))
output$select <- renderUI({
selectInput(
inputId = "PlayerName",
label = "Select Player",
choices = ao_summary()[, c("full_name")],
selected = "Novak Djokovic"
)
})
}
shinyApp(ui = ui, server = server)
播放器名称随后在 input$PlayerName
中可用。
我有这个数据集ao_summary
full_name matches gender aces double_faults bp_won_pctg highlight
1 Alexander Zverev 5 M 86 21 22 TRUE
2 Aryna Sabalenka 4 F 20 17 19 FALSE
3 Ashleigh Barty 5 F 24 15 23 FALSE
4 Aslan Karatsev 6 M 54 20 34 FALSE
5 Daniil Medvedev 7 M 80 21 37 FALSE
6 Donna Vekic 4 F 15 19 18 FALSE
7 Grigor Dimitrov 5 M 51 14 23 FALSE
8 Jennifer Brady 7 F 34 17 29 FALSE
9 Karolina Muchova 6 F 17 13 29 FALSE
10 Karolina Pliskova 3 F 19 16 15 FALSE
11 Milos Raonic 4 M 82 16 17 FALSE
12 Naomi Osaka 7 F 50 22 29 FALSE
13 Novak Djokovic 7 M 103 23 37 FALSE
14 Serena Williams 6 F 35 16 27 FALSE
15 Stefanos Tsitsipas 6 M 46 17 22 FALSE
我想为 full_name
列创建一个 varSelectInput,能够 select 列表中的玩家名称,我该怎么做?
我试过:
renderUI ({
varSelectInput(
inputId = "PlayerName",
label = "Select Player",
data = the_data()[, c("full_name")],
selected = "Novak Djokovic"
)
})
the_data()
是在服务器中创建的反应数据。
如有任何帮助,我将不胜感激。
我相信你真的想要 selectInput
和 choices =
library(shiny)
ui <- fluidPage(
uiOutput('select')
)
server <- function(input, output) {
ao_summary <- reactiveVal()
ao_summary(structure(list(full_name = c("Alexander Zverev", "Aryna Sabalenka",
"Ashleigh Barty", "Aslan Karatsev", "Daniil Medvedev", "Donna Vekic",
"Grigor Dimitrov", "Jennifer Brady", "Karolina Muchova", "Karolina Pliskova",
"Milos Raonic", "Naomi Osaka", "Novak Djokovic", "Serena Williams",
"Stefanos Tsitsipas"), matches = c(5L, 4L, 5L, 6L, 7L, 4L, 5L,
7L, 6L, 3L, 4L, 7L, 7L, 6L, 6L), gender = c("M", "F", "F", "M",
"M", "F", "M", "F", "F", "F", "M", "F", "M", "F", "M"), aces = c(86L,
20L, 24L, 54L, 80L, 15L, 51L, 34L, 17L, 19L, 82L, 50L, 103L,
35L, 46L), double_faults = c(21L, 17L, 15L, 20L, 21L, 19L, 14L,
17L, 13L, 16L, 16L, 22L, 23L, 16L, 17L), bp_won_pctg = c(22L,
19L, 23L, 34L, 37L, 18L, 23L, 29L, 29L, 15L, 17L, 29L, 37L, 27L,
22L), highlight = c(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE
)), class = "data.frame", row.names = c("1", "2", "3", "4", "5",
"6", "7", "8", "9", "10", "11", "12", "13", "14", "15")))
output$select <- renderUI({
selectInput(
inputId = "PlayerName",
label = "Select Player",
choices = ao_summary()[, c("full_name")],
selected = "Novak Djokovic"
)
})
}
shinyApp(ui = ui, server = server)
播放器名称随后在 input$PlayerName
中可用。