将变量名传递给 fre 命令
Passing variable names into fre command
我正在尝试将一组变量传递给 select 输入,并将其名称用于 expss::fre
命令。
我有一个包含列名及其标签的对象,例如 'myvars':
a1_1, "Do you like apples?"
a1_2, "Do you like oranges?"
我正在使用它们:
selectInput(vars, "Select variable", myvars)
然后,在 'server' 部分,我想用它来生成简单的频率 table。
output$view <- renderTable( {
fre(input$variable)
}
问题是在 fre
中我必须传递数据集名称的变量:
fre(data$a1_1)
所以我尝试了 eval
、quo
、!!
、paste0("data$",input$vars)
等,但没有成功。
当我尝试 switch
:
switch(input$vars, "a1_1"=fre(data$a1_1), "a1_2"=fre(data$a1_2))
它工作正常,但我需要更灵活的解决方案。
如何做好这件事?
下面的代码应该可以解决问题:
output$view <- renderTable({
fre(data[[input$vars]])
})
我正在尝试将一组变量传递给 select 输入,并将其名称用于 expss::fre
命令。
我有一个包含列名及其标签的对象,例如 'myvars':
a1_1, "Do you like apples?"
a1_2, "Do you like oranges?"
我正在使用它们:
selectInput(vars, "Select variable", myvars)
然后,在 'server' 部分,我想用它来生成简单的频率 table。
output$view <- renderTable( {
fre(input$variable)
}
问题是在 fre
中我必须传递数据集名称的变量:
fre(data$a1_1)
所以我尝试了 eval
、quo
、!!
、paste0("data$",input$vars)
等,但没有成功。
当我尝试 switch
:
switch(input$vars, "a1_1"=fre(data$a1_1), "a1_2"=fre(data$a1_2))
它工作正常,但我需要更灵活的解决方案。 如何做好这件事?
下面的代码应该可以解决问题:
output$view <- renderTable({
fre(data[[input$vars]])
})