& and |
A version of Eric's answer is to use grepl(), which returns a logical vector:
mydata[grepl("ConfoMap", mydata) & grepl("GuineaPigs", mydata)]
with the OR analogue:
mydata[grepl("ConfoMap", mydata) | grepl("GuineaPigs", mydata)]
/Henrik
On Wed, Aug 19, 2020 at 8:24 AM Ivan Calandra <calandra at rgzm.de> wrote:
Thank you Eric, I didn't think about intersect(). Now I'm trying to do that in tidyverse with pipes, and I think that's too much for me for now! Ivan -- Dr. Ivan Calandra TraCEr, laboratory for Traceology and Controlled Experiments MONREPOS Archaeological Research Centre and Museum for Human Behavioural Evolution Schloss Monrepos 56567 Neuwied, Germany +49 (0) 2631 9772-243 https://www.researchgate.net/profile/Ivan_Calandra On 19/08/2020 17:17, Eric Berger wrote:
mydata[ intersect( grep("ConfoMap", mydata), grep("GuineaPigs",
mydata) ) ]
On Wed, Aug 19, 2020 at 6:13 PM Bert Gunter <bgunter.4567 at gmail.com
<mailto:bgunter.4567 at gmail.com>> wrote:
"&" is not a regex metacharacter.
See ?regexp
Bert Gunter
"The trouble with having an open mind is that people keep coming
along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Wed, Aug 19, 2020 at 7:53 AM Ivan Calandra <calandra at rgzm.de
<mailto:calandra at rgzm.de>> wrote:
> Dear useRs,
>
> I feel really stupid, but I cannot understand why "&" doesn't
work as I
> expect, while "|" does.
>
> I have the following vector:
> mydata <- c("SSFA-ConfoMap_GuineaPigs_NMPfilled.csv",
> "SSFA-ConfoMap_Lithics_NMPfilled.csv",
> "SSFA-ConfoMap_Sheeps_NMPfilled.csv",
"SSFA-Toothfrax_GuineaPigs.xlsx",
> "SSFA-Toothfrax_Lithics.xlsx", "SSFA-Toothfrax_Sheeps.xlsx")
> and I want to find the values that include both "ConfoMap" and
> "GuineaPigs".
>
> If I do:
> grep("ConfoMap&GuineaPigs", mydata, value=TRUE)
> it returns an empty vector, character(0).
>
> But if I do:
> grep("ConfoMap|GuineaPigs", mydata, value=TRUE)
> it returns all the elements that include either "ConfoMap" or
> "GuineaPigs", as I would expect.
>
> So what is wrong with my "&" construct? How can I return the
elements
> that include both parts?
>
> Thank you for your help!
> Ivan
>
> --
> Dr. Ivan Calandra
> TraCEr, laboratory for Traceology and Controlled Experiments
> MONREPOS Archaeological Research Centre and
> Museum for Human Behavioural Evolution
> Schloss Monrepos
> 56567 Neuwied, Germany
> +49 (0) 2631 9772-243
> https://www.researchgate.net/profile/Ivan_Calandra
>
> ______________________________________________
> R-help at r-project.org <mailto:R-help at r-project.org> mailing list
-- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org <mailto:R-help at r-project.org> mailing list --
To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.