r - 我该如何解决这个错误:“错误:'closure'类型的对象不是一个子集”在闪亮的APP中使用数据表
问题描述
我正在制作一个闪亮的应用程序,我需要一个对输入做出反应的数据表,但是当我渲染数据表时,我收到以下错误
错误:“闭包”类型的对象不是子集
这是 server.R 中的函数
output$elites <- renderUI({
req(input$iterationsElites)
allElites <- iraceResults$allElites[[input$iterationsElites]]
for(i in allElites)
{
bestConfiguration <- getConfigurationById(iraceResults, ids=i)
print(bestConfiguration)
}
DT::renderDataTable({
DT::datatable(
bestConfiguration
)
})
})
用户界面
fluidRow(
box(title = "Elite Configurations",
status = "primary",
numericInput("iterationsElites","Select Iteration",value = 1,min = 1,max = iraceResults$state$nbIterations),
uiOutput("elites"),
width = 15
)
),
提前致谢
编辑
获取配置ID:
.ID. algorithm localsearch alpha beta rho ants q0 rasrank elitistants nnls dlb .PARENT.
7 7 as 0 4.96 0.81 0.27 32 NA NA NA NA <NA> NA
.ID. algorithm localsearch alpha beta rho ants q0 rasrank elitistants nnls dlb .PARENT.
52 52 as 1 0.35 6.72 0.11 92 NA NA NA 8 0 NA
.ID. algorithm localsearch alpha beta rho ants q0 rasrank elitistants nnls dlb .PARENT.
73 73 as 3 0.61 2.29 0.66 34 NA NA NA 22 1 NA
.ID. algorithm localsearch alpha beta rho ants q0 rasrank elitistants nnls dlb .PARENT.
67 67 mmas 3 2.73 7.98 0.97 34 NA NA NA 41 0 NA
.ID. algorithm localsearch alpha beta rho ants q0 rasrank elitistants nnls dlb .PARENT.
58 58 eas 2 0.32 2.97 0.72 80 NA NA 58 6 1 NA
变量 allElites 包含通过函数 getConfigurationByID 获取配置的 ID
[1] 7 52 73 67 58
谢谢回答
解决方案
“闭包类型的对象”是指一个函数。错误消息意味着您正在尝试对函数进行子集化(即,使用 $ 或括号),这显然没有意义。
所以通过你的代码寻找看起来像子集数据对象但实际上具有函数名称的对象,你会发现你的问题。
此错误通常是数据对象名称拼写错误的结果。请注意,如果您使用现有函数的名称定义数据对象,R 将首先找到数据对象。但是,如果尝试对您命名为“Sum”的数据对象进行子集化并将其称为“sum”(这是内置函数的名称),您将收到此错误。
推荐阅读
- postgresql - 在 Postgress 中使用 Pattern 将字符串拆分为新行
- ruby-on-rails - Rails:如何在部署 Docker 容器后立即启动 PORO/job/worker?
- c# - 当前上下文中不存在名称“flashlightPos”
- r - 在面板数据集中均匀化 R 中的分组值
- javascript - 如何获取输入数组的值
- android - 为每个页面创建一个具有动态高度的 Flutter Carousel Slider
- laravel - 从关系中获取一列,Laravel
- c++ - 当 std::is_trivial_v 时 T 可以有析构函数吗
是真的? - amp-html - 放大器侧边栏不关闭
- c# - 更新组中的多个设置