【发布时间】:2019-08-21 23:05:23
【问题描述】:
所以我有一个闪亮的应用程序和一个文本输入,它接收一个用作函数输入的单词,它在 UI 中看起来像这样:
textInputAddon(inputId="taxa",addon=icon("search"),
label=tags$h4(tags$strong("Enter the name of the taxonomic group:")),placeholder="Example: Cetacea")
然后在服务器中输入中提交的单词用于下载一个tsv文件,我将它渲染成这样:
taxaInput <- reactive({grades(input$taxa)})
output$downloadData <- downloadHandler(
filename = function() {
paste(input$taxa, ".tsv")
},
content = function(file) {
shiny::withProgress(
message=paste0("Downloading and annotating dataset for ",input$taxa), detail='This may take several minutes',
value=0,
{
shiny::incProgress(1/10)
Sys.sleep(1)
shiny::incProgress(4/10)
write_tsv(taxaInput(), file)
}
)
}
)
“grades()”函数是我的用户自定义函数,我只能用它来下载搜索一个单词的文件。我想要的是能够搜索在输入中输入这样的内容: Word1,Word2,Word3
在一个简单的 R 脚本中,我用这个词替换了一个向量:
group<-c(Word1,Word2,Word3)
但在闪亮的应用程序中我无法
感谢您提前回复
【问题讨论】:
-
你试过
strsplit吗? -
我没有,谢谢,我试试看。但如果有人只使用一个词作为输入,它仍然有效吗?
-
我不清楚需要什么。你在尝试做'group
-
是的,我认为 strplit 或 paste 都可以,谢谢
-
所以通常情况下,如果我在 R 脚本中,我只会将诸如 c(word1,word2,word3) 之类的向量中的单词分开,以使我的“成绩”功能起作用,所以我基本上想要最好的例如,如果用户想要搜索“word1,word2,word3”而不是“word1”,则可以通过我闪亮的应用程序中的文本输入来完成此操作