tôi có một loạt các hộp kiểm trong một panel bên cạnh, được định nghĩa như sau trong một sidebarPanel
:Bắt nhiều giá trị checkbox trong Shiny
sliderInput("days",
"Days to monitor:",
min = 1,
max = 50,
value = 5),
checkboxInput("display_CMC", "Carolinas Medical Center", TRUE),
checkboxInput("display_MariaParham", "Maria Parham", TRUE),
checkboxInput("display_WakeMed", "Wake Med", TRUE)
Tôi muốn chuyển đổi những kết quả vào một vector nhân vật một cách chương trình (ví dụ: nếu tôi có một checkboxInput có tên 'display_
Tôi muốn nó tự động phân tích cú pháp kết quả). Để làm điều đó, tôi đã cố gắng:
displayIdx <- grep("display_", names(input))
facilityCode_keep <- names(input)[ displayIdx ][ input[ displayIdx ] ]
Thật không may, có kết quả trong:
Error: Single-bracket indexing of reactivevalues object is not allowed.
Hai câu hỏi:
- Làm thế nào để chuyển đổi một loạt các
checkboxInput
s vào một vector nhân vật? - Điều gì xảy ra với việc bỏ chỉ mục khung đơn không cho phép. Tôi có thể hiểu nếu tôi đang cố gắng giao cho
input
, nhưng tôi thì không.
Hoàn hảo, cảm ơn! Bất kỳ ý tưởng nào tại sao không cho phép lập chỉ mục một khung? –
Lập chỉ mục một khung là đặt giá thầu, trong khi lập chỉ mục khung đôi là truy lục phần tử (hoặc thứ gì đó tương tự). Đối tượng 'input' giống như một bản đồ/băm/dict/môi trường hơn là một vectơ có tên, do đó, việc subsetting không thực sự có ý nghĩa. (Tương tự như vậy, bạn không thể chỉ định một khung trên các đối tượng môi trường của R, bạn chỉ có thể tăng gấp đôi chỉ mục.) –
Cảm ơn câu trả lời thực sự mang tính thông tin. Tôi đã thêm nó vào phản hồi của bạn. –