我在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,除了正确完成赋值的最后一个位置。
答案 0 :(得分:0)
我遇到的问题是如何设置我想要动态显示的输入的名称。如上所述,我尝试了不同的东西,但现在我已经提出了整个解决方案,一个也给你(如果需要)所述&#34;分组&#34;的值。输入列表。
我使用全局var(因为我想使用其他输出中的值)名为newNames并在开始时将其初始化为NULL,其余代码如下所示,它是一个简单的lapply:
{{1}}