【发布时间】:2016-10-23 09:50:37
【问题描述】:
我的数据框df有aplication2011、winner2012等列名
在我的 Shiny 应用程序中,我使用了 2 个反应变量:
year = reaction$year
category = reaction$category
在我的 UI 中定义。 R 为:
radioButtons("year", label = h3("Year:"),
choices = list("2011" = "2011", "2012" = "2012",
"2013" = "2013", "2014" = "2014",
"2015" = "2015", "2016"= "2016"),selected = 1)),
radioButtons("category", label = h3("Category"),
choices = list("Aplicant" = "aplic",
"Winner" = "win",
我的目标是使用这两个变量对我的数据框 df 进行子集化,其中包含变量名称的部分。
例如,如果选择 reaction$year 2011 并且选择 reaction$category ap 我应该得到aplication2011
列我正在尝试使用以下方法进行子集化:
# kindly regards to user lmo for providing this code
getMap <- function(df, reaction){
# get user selected content from getReaction function
userReaction <- getReaction(category, year)
# extract from list returned by function
yearSelect <- userReaction[["year"]]
catSelect <- userReaction[["category"]]
# extract variable
df <- df[[names(df)[grep(paste0("^", catSelect, .*, yearSelect, "$"),
names(df), value=TRUE)]]]
我的反应函数:
getReaction2 <- reactive({
return(list(category = input$category,
year = input$year
))
谢谢
【问题讨论】:
-
感谢您的超快回复。我尝试了一下,但得到:
标签: r shiny subset reactive-programming