Предположим, у меня есть текстовый файл, такой как:
df<-data.frame(x=rnorm(9),
y=rep(LETTERS[1:3], each=3),
z=rep(LETTERS[4:6], each=3))
write.table(df, "test.txt")
Я хотел, чтобы пользователь мог ввести выбранный столбец, например y
, а затем выбрать два уровня, level0
, level1
из раскрывающихся опций столбца (например, A
, B
, C
в столбце y
). Я попробовал следующий сценарий:
library(shiny)
ui <- fluidPage( textInput("design", "Column to pick", " "),
uiOutput("level0"),
uiOutput("level1")
)
server <- function(input, output) {
##main results output
datobj <- reactive({
dat <- read.table(input$file)
return(list(x=dat$x,
y=dat$y))
})
output$level0 <- renderUI({
selectInput("ref0", "Reference group", datobj()[["y"]])
})
output$level1 <- renderUI({
selectInput("ref1", "Study group", datobj()[["y"]])
})
}
shinyApp(ui, server)
Я застрял все утро для этого, а также для некоторых онлайн-сообщений, таких как здесь , но все еще не могу заставить его работать. Некоторые предложения?