Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-使用带变量的LIKE算子_R_Search_Desctools - Fatal编程技术网

R-使用带变量的LIKE算子

R-使用带变量的LIKE算子,r,search,desctools,R,Search,Desctools,我想在DescTools包中的%like%函数中替换变量而不是字符串。之后我想用它做的是有一个循环,变量改变值,我得到不同的结果。 我试过几种方法,但都没能奏效。 以下是我的示例代码: library(DescTools) library(dplyr) x <- c(1,2,3,4,5,6) y <- c("a","b","c","a","a","a") df <- data.frame(x = x, y = y) df 现在我

我想在
DescTools
包中的
%like%
函数中替换变量而不是字符串。之后我想用它做的是有一个
循环
,变量改变值,我得到不同的结果。
我试过几种方法,但都没能奏效。
以下是我的示例代码:

    library(DescTools)
    library(dplyr)
    x <- c(1,2,3,4,5,6)
    y <- c("a","b","c","a","a","a")
    df <- data.frame(x = x, y = y)
    df
现在我想创建一个变量,它将保存我要搜索的值

   # create a variable which will take out the value I'm looking for
        let <- '"%a%"'

选项1:评估变量

df %>% filter(y %like% eval(parse(text = let)))
选项2:利用
dplyr
中的
filter
功能

df %>% filter_(paste0("y %like%", let))

编辑:事实上,注释是更好的答案,因为它不那么复杂——问题在于报价级别。

选项1:评估变量

df %>% filter(y %like% eval(parse(text = let)))
选项2:利用
dplyr
中的
filter
功能

df %>% filter_(paste0("y %like%", let))

编辑:事实上,注释是更好的答案,因为它不那么复杂——这是报价级别的问题。

这对我有效
selectVar%filter(y%like%selectVar)
你的作业中有太多的报价:
让我试着把事情过度复杂化。这很有效。这对我来说很有效
selectVar%filter(y%like%selectVar)
你的作业中有太多的引号:
让我试着把事情复杂化。这就行了。不,OP设置变量
let
时出错了。这是不必要的。不,OP错误地设置了变量
let
。这是没有必要的。