无法将grep()与R函数中的输入文本一起使用

时间:2018-08-23 12:00:03

标签: r grep

我正在编写一个简单的函数来查找一个单词(或一组单词),该单词(或一组单词)将数据框列中的单词与文本匹配:

find.it <- function(y) {df1[grep(y , df1$words1.2), ]}

其中df1是数据帧,而word1.2是文本列。

我想像这样运行我的函数(其中“去”是要查找的输入文本)。     find.it(去)

但是它不起作用,因为该功能在输入文本周围需要“”。

我的最终目标是允许用户输入单词,并找到匹配的单词。有没有一种方法,而不必在文本周围添加“”?

1 个答案:

答案 0 :(得分:1)

使用以下功能,我可以“问”一个不带引号的字符串:

df1 <- data.frame("SN" = 1:2, "Age" = c(21,15), "words1.2" = c("John","Dora"))

find.it <- function(y) {df1[grep(y , df1$words1.2), ]}

readstring <- function()
{ 
  n <- readline(prompt="Enter string: ")
  return(toString(n))
}

find.it(readinteger())