【发布时间】:2019-11-05 11:24:30
【问题描述】:
我想在 Shiny 中使用 textInput 的一部分来创建一个变量,该变量将依次与数据框 (DF) 中的值匹配,并根据该匹配值创建 textOutput。假设我有一个 textInput ,其典型输入为例如ABC 123、ABC 234、ABC 345、BCD 123、BCD 234、BCD 345。我还有一个 DF,其中包含一列 (Col1),其中包含典型 textInput 的“第一”部分,即 ABC、BCD 和另一列带有一组像这样的对应值(Col2)
DF <-
Col1 Col2
1 ABC W
2 BCD Y
3 CDE X
4 DEF Z
我想使用 textInput,比如“ABC 123”,只选择它的“第一”部分(“ABC”),然后使用这个字符串在 DF$Col2 中找到其对应的值,并在 Shiny 中创建 textOutput 来填充/输出该值,在本例中为“W”。同样,如果 textInput (input$UserInput) 中的用户输入是 CDE 345,我希望输出值显示为“X”。
我可以创建“第一”部分文本并输出到相关空间,但在使用它在 DF 中查找相应值并将其输出的附加部分遇到问题。
我用它来隔离文本输入的“第一”部分,
output$first <- renderText({paste(substr(input$UserInput, 1,
nchar(input$UserInput)-4))})
这会输出“ABC”、“CDE”等字符串,但我在使用它进行第二步时遇到问题,即在 DF$Col2 中找到正确的值并改为输出。
【问题讨论】: