使用带有Shiny控件的参数的dplyr

时间:2014-11-20 19:22:31

标签: r shiny dplyr

编辑:阅读评论后已完成重大改写

使用R中的dplyr包,我想:

  • 使用filter选择数据框中的特定行
  • 使用select选择数据框中的列。

我有一个来自数字输入框的行的行号,名为input$num 我有来自复选框控件的列的名称,名为input$select

例如,
print(input$num)返回10
print(input$select) 返回"Age" "Weight"

到目前为止一切顺利。

案例1:
这有效:

DF <- DF %>%
  filter(PIDN == input$num)

我得到第10行以及DF中存在的所有列。

案例2:
这是有效的,但仅当input$select持有"Age""Weight"时,但不是两者都有效:

DF <- DF %>%
  select_(input$select)

我获得所有行和单列AgeWeight

案例3:
如果input$select仅包含AgeWeight,但不包含两者,则不起作用:

DF <- DF %>%
  filter(PIDN == input$num) %>%
  select_(input$select)

...我得到Error in eval(substitute(expr), envir, enclos) : column 'Age' has unsupported type

在这一点上我完全感到困惑。我真的很想做什么 CASE 3 承诺:选择一个特定的行和一些特定的列。

0 个答案:

没有答案