动态输入textinput元素的输入ID

时间:2016-12-24 15:19:14

标签: r shiny

我在R Shiny中有一个简单的服务器/ ui程序。通过lapply我创建了-lets说--10 textInputs。

输入的名称是marker1 marker2 marker3等..具有预定义值(无空值)。我创建了一个observeEvent来检查用户何时按下UI-中创建的Submit按钮,以便我可以操作新值。

当我这样做时

     print(input$marker1)

它工作正常,它显示特定标记的值。

问题是,我想对所有标记执行此操作,并且它们的数量不是静态的,所以我提出了这个想法,它不起作用:

     for(i in length(markers))
     {
       markername = paste0("marker",i);
       print(input$markername)
     }

我理解这背后的逻辑是错误的,因为在输入$后你需要输入输入的实际名称,但是当我的标记数量是动态的时候我怎么能这样做呢?

编辑#1及更新:

查看输入格式后,我找到了这个,实际上可以粘贴输入的名称:

      input[[paste0("name",i)]]

所以,现在的问题是这样的。

     for(i in length(markers))
     {
       global_var[i] <<- input[[paste0("name",i)]]
     }
     print(global_var)

现在的问题是我为global_var对象的第一个位置得到NULL,除了正确完成赋值的最后一个位置。

1 个答案:

答案 0 :(得分:0)

我遇到的问题是如何设置我想要动态显示的输入的名称。如上所述,我尝试了不同的东西,但现在我已经提出了整个解决方案,一个也给你(如果需要)所述&#34;分组&#34;的值。输入列表。

我使用全局var(因为我想使用其他输出中的值)名为newNames并在开始时将其初始化为NULL,其余代码如下所示,它是一个简单的lapply:

{{1}}