grep子集索引引用
假设我在R中有一个列表grep子集索引引用,r,R,假设我在R中有一个列表 alist<-c("a","a","b","c") 我要两个。是否仍然需要使用grep函数,以便获得原始列表中b的位置,而不是子集?因此,grep函数将返回3而不是2?您只需在原始列表上运行grep() matches <- grep("b",alist) 通过这种方式,您可以在原始列表中获得索引,但只能获得那些也包含在子列表中的项 当然,你可以在一行中一起完成 intersect(grep("b",alist), c(2,3,4)) 它开始看起来很像问
alist<-c("a","a","b","c")
我要两个。是否仍然需要使用
grep
函数,以便获得原始列表中b
的位置,而不是子集?因此,grep
函数将返回3而不是2?您只需在原始列表上运行grep()
matches <- grep("b",alist)
通过这种方式,您可以在原始列表中获得索引,但只能获得那些也包含在子列表中的项
当然,你可以在一行中一起完成
intersect(grep("b",alist), c(2,3,4))
它开始看起来很像问题中原始的
grep()
语句。为什么不能在原始列表中使用grep
来获得原始位置?好的-我会问显而易见的问题。如果您不希望返回的位置是该数据子集的位置,那么为什么需要获取该子集?@Joshua Ulrich&@Chase:他的小示例没有说明这一点,但有可能原始列表中有一个元素与正则表达式匹配,但不在子列表中。因此需要一个intersection()
call.wow谢谢这真是太棒了。这对我正在做的事情来说也是非常有效的!
intersect(matches, c(2,3,4))
intersect(grep("b",alist), c(2,3,4))