У меня есть следующий набор данные:Печати таблица данных в блестящем, используя определенный пользователь подмножество
df <- data.frame(x = gl(n = 2, k = 10, labels = c(0, 1)),
y = gl(n = 4, k = 5, labels = c('hi', 'bye', 'wee', 'whoa')))
Я создал блестящее приложение, которое позволяет пользователю выбрать любого из переменного кадра данных. После выбора переменной появляются переключатели. Я хотел бы, чтобы пользователь мог выбирать значения с помощью переключателей, которые затем будут использоваться для подмножества кадра данных и, в конечном счете, распечатать результат в таблице данных. Код, который я до сих пор выглядит следующим образом:
server.R
library(tidyr)
library(dplyr)
df <- data.frame(x = gl(n = 2, k = 10, labels = c(0, 1)),
y = gl(n = 4, k = 5, labels = c('hi', 'bye', 'wee', 'whoa')))
function(input, output) {
# Select specification of features for subsetting
output$ui <- renderUI({
# Get length of features selected
numVar <- length(as.integer(input$in0))
# Create n radioButtons based on number of features selected
lapply(input$in0, function(x) {
list(radioButtons(paste0("dynamic", x), x,
choices = c("zero" = "0",
"one" = "1"),
selected = "0"))
})
})
output$mytable = renderDataTable({
df
})
}
ui.R
library(tidyr)
library(dplyr)
df <- data.frame(x = gl(n = 2, k = 10, labels = c(0, 1)),
y = gl(n = 4, k = 5, labels = c('hi', 'bye', 'wee', 'whoa')))
fluidPage(
br(),
fluidRow(
column(3,
h2('Test subset'),
# Drop down of all features
selectInput(inputId = 'in0', label = 'Choose features',
choices = colnames(df),
multiple = TRUE, selectize = TRUE),
# Radio buttons for features
wellPanel(uiOutput("ui"))
),
column(9,
dataTableOutput('mytable')
)
)
)
В частности, я не знаю, как получить доступ к выбору пользователя от переключателей, чтобы подмножить таблицу данных df
в файле server.R
. В этом случае необходимо, чтобы подмножество работало с переменной x
. То есть, который состоит из 0 и 1, но он должен потенциально иметь возможность работать со многими переменными. Таким образом, код подмножества должен учитывать, сколько переменных выбрал пользователь.
Я думаю, что вы должны хранить 'ввода $ in0' как статический омическим переменной, используя' isolate', так что вы знаете, что имена радио-кнопок. то есть. вам нужно получить доступ к 'input $ dynamicx', где вы определили dynamicx в функции lapply. – Jean