Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 如何使用部分匹配字符串创建子集?_R_Subset - Fatal编程技术网

R 如何使用部分匹配字符串创建子集?

R 如何使用部分匹配字符串创建子集?,r,subset,R,Subset,我试图将被分类为NJS或ELJ的参与者分离出来,后面是一个数字,如NJS1、NJS2、ELJ8、ELJ25等。我记得我在寻找一个符号,意思是“选定的单元格包含“XYZ”,后面跟任何东西”,允许我的参与者分为两组。我试过以下方法,但没有效果 NJSBio = subset(biography, biography$`L1(s)` == "NJS#") // NJSBio = subset(biography, biography$`L1(s)` == "NJS?&qu

我试图将被分类为NJS或ELJ的参与者分离出来,后面是一个数字,如NJS1、NJS2、ELJ8、ELJ25等。我记得我在寻找一个符号,意思是“选定的单元格包含“XYZ”,后面跟任何东西”,允许我的参与者分为两组。我试过以下方法,但没有效果

NJSBio = subset(biography, biography$`L1(s)` == "NJS#")
//
NJSBio = subset(biography, biography$`L1(s)` == "NJS?")
//
NJSBio = subset(biography, biography$`L1(s)` == "NJS*")

我曾尝试使用RStudio中的“帮助”功能和Google来找到答案,但我猜我的搜索词太模糊了。有人能帮我刷新一下记忆吗?

如果列名为
L1(s)
您可以尝试:

库(dplyr)
NJSBio=filter(传记,grepl(“NJS.*”,`L1(s)`))
或者调整最后一个选项

NJSBio=subset(传记,grepl(“NJS.*,传记$`L1(s)`))
也应该有效


但为了避免出现问题,作为更一般的评论,最好避免在变量名中使用括号。

谢谢您的回复!我尝试这样做,并在L1(s)中收到以下错误://NJSBio=filter(传记,grepl(“NJS.*”,L1(s)):找不到函数“L1”//可能是列名中的括号导致问题吗?这是数据框中的第四列,也是唯一有括号的列。@HarryCaulton我已经更新了我的答案。如果使用括号,请在变量名周围写回勾号谢谢。我意识到它为什么不起作用。我仍然不知道你使用了哪一个撇号(我尝试了“和”,但在你的信息中找不到)但是当我在你的例子中单独复制这些撇号时,它起了作用!感谢你的帮助编辑回复我在键入时没有看到的回复:哦,所以它被称为倒勾,谢谢你的评论!@HarryCaulton欢迎你。如果答案解决了你的问题,你可以接受它。