我正在尝试使用ui.R中来自server.R的 values $ df 数据帧变量来显示数据框的所有字段名称作为侧面板中的复选框。但是我收到错误消息错误:对象'值'找不到。
以下是我在server.R文件中的内容:
values<- reactiveValues()
values$df<- data.frame() # creates an empty dataframe
# actionButton
mdf<- eventReactive(input$click_counter, {
name<- input$name
gender<- input$gender
college<- input$college
team<- input$team
score<- input$score
new_row<- data.frame(name,college,gender,team,score)
return(new_row)
})
observeEvent(input$click_counter, {
name<- input$name
gender<- input$gender
college<- input$college
team<- input$team
score<- as.numeric(input$score) # convert to numeric here to make sorting possible
rank<- 0
new_row<- data.frame(rank,name,college,gender,team,score)
values$df<- rbind(values$df, new_row)
values$df<- values$df[order(-values$df$score),]
values$df$rank<- 1:nrow(values$df)
})
output$nText<- renderDataTable({
mdf()
})
output$nText2<- renderDataTable({
values$df
}, options = list(orderClasses = TRUE,lengthMenu = c(5, 10, 30), pageLength = 5))
这就是我在ui.R文件中的内容:
sidebarLayout(
sidebarPanel(
checkboxGroupInput('nText2',
'Columns in players to show:',
names(values$df),
selected = names(values$df))
),
答案 0 :(得分:0)
我不太确定何时分配values
对象。但是,如果您尚未使用global.R文件,我建议使用一个。您可以在其中指定values
,该对象将同时在server.R
和ui.R
中提供。将global.R放在与其他两个文件相同的文件夹中。
答案 1 :(得分:0)
让服务器呈现UI允许您像处理其他服务器端操作一样继续使用数据框。如果数据框架没有可重复性,我无法确定这个数据框架是否有效,但我希望这能为您提供良好的推动力。
server.R:
output$nText2ui <- renderUI({checkboxGroupInput('nText2',
'Columns in players to show:',
names(values$df),
selected = names(values$df))
})
ui.R:
sidebarLayout(
sidebarPanel(
htmlOutput("nText2ui")
)
)