Извините, если это немного излишне для постов, имеющих отношение к нескольким аргументам, но я все еще изо всех сил пытаюсь применить эти концепции в моих вложенных функциях. Я также извиняюсь, если заголовок не совсем подходит к сути моего вопроса и открыт для предложений!
Я хотел бы создать серию списков в Shiny из серии фреймов данных, где каждый В списке указывается заголовок, соответствующий имени фрейма данных:
Требуемый вывод
тест
test2
test3
Сначала я создал all_tests
, список, содержащий все кадры данных, с именами, соответствующими кадры данных.
Я хочу использовать это в ряде функций:
rowBlock
создает элемент li (A, B, C, D, E, F) et c rowPallete
создает элемент ul всех rowBlocks для каждого фрейма данных вместе с заголовком фрейма данных rowArea
объединяет все rowPalletes с учетом заданного пользователем списка фреймов данных (all_tests
). Это функция, которую я хотел бы использовать в App.R
library(shiny)
# This is a repex where really I'm going to be importing x # of data frames
# I want to use their column names within each list
# And title each list the name of the dataframe
test <- data.frame("A" = NA, "B" = NA, "C" = NA)
test2 <- data.frame("D" = NA, "E" = NA, "F" = NA)
test3 <- data.frame("G" = NA, "H" = NA, "I" = NA)
all_tests <- list(colnames(test), colnames(test2), colnames(test3))
names(all_tests) <- c("test", "test2", "test3")
# each column name should be a li
rowBlock <- function(name) {
tags$li(
class = "block", id = name,
div(name)
)
}
# each dataframe should be its own list
# and titled with the name of the df
rowPallete <- function(data) {
div(
lapply(names(data), h5),
tags$ul(
class="all_blocks",
lapply(data, rowBlock)
))
}
# combine the different dataframes into a series of lists
# to be used within app.R
rowArea <- function(bins) {
column(1, offset = 0, style='padding:0px;',
lapply(bins, rowPallete)
)
}
Я могу заставить код работать, когда я не включаю заголовки ul, но я изо всех сил пытаюсь применить два векторы к той же функции Лэппли. Я играл с использованием column names
, names(all_tests)
, но, похоже, все еще чего-то не хватает. Любая помощь приветствуется!