r - R Shiny:如何调用依赖于另一个函数输出的函数?
问题描述
我需要返回一个函数调用的输出,该函数调用将另一个函数的输出作为参数。
到目前为止,这是我的脚本:
# Define server logic ----
server <- function(input, output) {
output$e_returns <- DT::renderDataTable(
DT::datatable(df_er, options = list(paging = FALSE, searching = FALSE))
)
# Creating the portfolio output
pf_old_list <- reactive({ mc_func(input$e_world, input$e_eme, input$e_fm, input$e_sc, input$e_danske, input$b_danske,
input$indekser, input$global_ig, input$global_hy, input$emd, input$loans, input$pe,
input$pd, input$infrastruktur, input$ejendomme, input$skov) })
pf_new_list <- reactive({ mc_func(input$new_e_world, input$new_e_eme, input$new_e_fm, input$new_e_sc, input$new_e_danske, input$new_b_danske,
input$new_indekser, input$new_global_ig, input$new_global_hy, input$new_emd, input$new_loans, input$new_pe,
input$new_pd, input$new_infrastruktur, input$new_ejendomme, input$new_skov) })
pf_key_stats <- reactive({ pretty_output(pf_old_list, pf_new_list) })
# Outputting the desired figures in a pretty format
output$pf_key_figures <- DT::renderDataTable({
DT::datatable(pf_key_stats, options = list(paging = FALSE, searching = FALSE))
})
}
mc_func
返回 7 个数字的列表。
pretty_output
返回将这些数字格式化为数据框对象的数据框。代码如下所示:
pretty_output <- function(pf1, pf2) {
pf1_vect <- as.numeric(unlist(pf1))
pf2_vect <- as.numeric(unlist(pf2))
output_data <- data.frame(key_figures, pf1_vect, pf2_vect)
names(output_data) <- c('xx', 'aa', 'bb')
return(output_data)
}
我得到的错误信息是:
reactive({
pretty_output(pf_old_list, pf_new_list)
})
function ()
- attr(*, "observable")=Classes 'Observable', 'R6' reactive({ pretty_output(pf_old_list, pf_new_list) })
- attr(*, "class")= chr [1:2] "reactiveExpr" "reactive"
Warning: Error in DT::datatable: 'data' must be 2-dimensional (e.g. data frame or matrix)
[No stack trace available]
因此,我怀疑此行返回的对象pf_key_stats <- reactive({ pretty_output(pf_old_list, pf_new_list) })
格式错误。
当我在服务器之外运行这些功能时,它可以完美运行。
解决方案
推荐阅读
- azure-cosmosdb - Azure Document DB – 带有服务器端 API 的 JS 文件
- node.js - 如何只查看特定用户创建的特定用户,而不查看任何其他信息?
- apex - 删除 Lightning 组件的 CMP 文件时出现问题
- shell - chmod:警告:无法更改 .folder
- c# - MVC WebApi 路由未找到 HTTP 资源
- flutter - 比较飞镖中的对象值数组?
- python - Librosa 获取音频的基本参数
- docker - useradd 不在 amazonlinux 基础镜像中
- javascript - 滚动到页面中间时无限滚动
- pandas - 如何获取一串单词的第一个字母