【发布时间】:2016-12-24 15:19:13
【问题描述】:
我在 R Shiny 中有一个简单的服务器/用户界面程序。通过 lapply,我创建了 - 让我们说 - 10 个 textInputs。
输入的名称是 marker1 marker2 marker3 etc.. 具有预定义的值(没有空值)。我创建了一个 observeEvent 来检查用户何时按下在 UI 中创建的提交按钮,以便我可以操作新值。
当我这样做时
print(input$marker1)
它工作正常,它显示了特定标记的值。
问题是,我想对所有标记都这样做,并且它们的数量不是静态的,所以我想出了这个想法,但它不起作用:
for(i in length(markers))
{
markername = paste0("marker",i);
print(input$markername)
}
我理解这背后的逻辑是错误的,因为在 input$ 之后你需要输入输入的实际名称,但是当我的标记数量是动态的时我该怎么做?
编辑 #1 和更新:
查看输入格式后,我找到了这个,它实际上可以让您粘贴输入的名称:
input[[paste0("name",i)]]
所以,现在的问题是这样的。
for(i in length(markers))
{
global_var[i] <<- input[[paste0("name",i)]]
}
print(global_var)
现在的问题是我在 global_var 对象的第一个位置得到了 NULL,除了正确完成分配的最后一个位置。
【问题讨论】: