glad it was helpful.
%in% is a logical operator, so you can use "!" to negate the result
(with parentheses),
! ( 4 %in% 1:3)
Alternatively, define a new operator,
`%ni%` <- Negate(`%in%`)
1 %ni% c(2,1)
Next time you ask a follow-up question please send it to the r-help
list so others can help you too.
HTH,
baptiste
On 14 Apr 2009, at 16:03, zack holden wrote:
Yes! that's it. Any chance you can tell me how to select everything
but those plotNames? Basically a reverse subset? I don't know these
character matching functions very well.
I very much appreciate your help, thanks again.
Zack
----------------------------------------
CC: r-help@r-project.org
From: ba...@exeter.ac.uk
To: zack_hol...@hotmail.com
Subject: Re: [R] subset dataframe by rows using character vector?
Date: Tue, 14 Apr 2009 15:56:45 +0100
Is this what you want?
plotNames <- c("plot1", "plot2", "plot3") # plot is probably best
left as the name of the base function
full.data[full.data$PLOTID %in% plotNames, ] # note the comma
HTH,
baptiste
On 14 Apr 2009, at 15:20, zack holden wrote:
Dear List,
I'm stuck on what seems like a simple indexing problem, I'd be very
grateful to anyone willing to help me out.
I queried a dataframe which returns a character vector called
"plot". I have another dataframe from which I want to subset or
select only those rows that match "plot". I've tried subset, and
also the "which" command.
plot <- c("plot1", "plot2", "plot3") # character
vector used to select rows from data
# create fake data from to try out subset
v1 <- c(2,5,6,4,3)
PLOTID <- c("plot1", "plot2", "plot3", "plot4", "plot5")
full.data <- cbind(v1, PLOTID)
full.data <- as.data.frame(full.data)
# first attempt
test <- which(full.data$PLOTID == plot)
# second attempt
test <- full.data[full.data$PLOTID == plot]
I'm sure there is a simple solution here, but I'm unable to figure
it out.
Thanks for any suggestions,
Zack
______________________________________________
R-help@r-project.org mailing list
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.
_____________________________
Baptiste AuguiƩ
School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK
Phone: +44 1392 264187
http://newton.ex.ac.uk/research/emag
______________________________
_____________________________
Baptiste AuguiƩ
School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK
Phone: +44 1392 264187
http://newton.ex.ac.uk/research/emag
______________________________________________
R-help@r-project.org mailing list
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.