如何在Shiny(R)中将字符串输入(带空格的数字)转换为数据帧?

时间:2018-09-25 20:24:17

标签: r shiny

在ui.R

textInput("numbers","New try")
# Example input, 2345 654774 647

在server.R

x = as.numeric(unlist(strsplit(input$numbers, '')))

输出为

2 3 4 5 NA 6 5 4 7 7 4 NA 6 4 7

这会将数字转换为原子向量。我希望将数字转换为保留数字的数据框。例如2345 654774 647 在数据框中。

1 个答案:

答案 0 :(得分:1)

我们可以使用正则表达式在字符串中搜索整数,而不是将其分成单个数字。由此,所有匹配项都可以放入数据框中。

library(stringr)

input<-"2345 654774 647"

Match<-str_match_all(input, "\\d+")

DF<-as.data.frame(Match)

names(DF)<-("Test")
DF
    Test
1   2345
2 654774
3    647