r - 使用 selectInput 来确定在 r shiny 中应用什么函数
问题描述
我正在尝试创建一个闪亮的页面,其中下拉输入选择选择一个函数以应用于数据集(我自己创建的不同绘图函数)。
我已经尝试定义和命名我想要的功能列表。
soil_function_list = c(data.sum, texture.triangle.plot, compaction.plot, carbon.plot, percent.change.plot)
names(soil_function_list) = c("Data Table", "Texture Triangle", "Compaction Plot", "Carbon Plot", "Change Plot")
然后在 UI 中,selectInput 函数引用这些名称:
ui <- shinyUI(
navbarPage(
title = "Title",
tabPanel("Soil",
selectInput("soilplottype", "Choose Plot Type", choices = names(soil_function_list)),
mainPanel(plotOutput("soilplot"))),
)
)
然后在服务器中,我希望输出根据输入应用任何函数
server <- function(input, output) {
output$soilplot = renderPlot({
func = input$soilplottype
soil_function_list$func(data)
})
}
这在我的页面上返回一个错误,上面写着“尝试应用非函数”,所以我怀疑问题出在我如何引用我的函数库。
当我尝试直接从 soil_function_list 中使用这些函数时,它会向后放置刻度线,效果很好 - 例如:
soil_function_list$'Data Table'(data)
我不确定这些到底是什么意思,或者如何在闪亮的输入框架中应用它们。我在这里做错了什么?
谢谢!
解决方案
推荐阅读
- java - 如何在客户端接口中注入 Mockito 服务层
- kotlin - 执行扩展名为 kt 以外的 kotlin 文件
- java - 修改rest服务中GET的url路径
- python - 在剪贴板上读取屏幕截图时出现 pytesseract 错误
- java - 我的图像如何获得 ImageView 大小
- java - ResourceAccessException 中 SocketTimeout 异常的 Junit 代码覆盖率
- python - 有没有办法更改 Django 项目的 TCP 设置?
- qt - Qt Creator - 如何在启动时禁用“更新文档”进程
- python - 使用 Python 从 docx 中提取非结构化数据/文本
- sql - SQL QUERY - 在同一日期选择 1 条记录