I have a dataframe zeespan. One of the columns has the name "customer". The data in the customer column is text. I would like to return a subset of the dataframe with all rows that DON'T begin with either "ibm" or "exxon", or "sears" in the customer column. I tried .... subset(zeespan, customer != c("ibm" | "exxon" | "sears") ) That didn't work and even if it did, the text would have to be an exact match where what I really want is "begins with". Suggestions on how to do this would be appreciated -- View this message in context: http://r.789695.n4.nabble.com/How-do-I-subset-a-dataframe-tp3742172p3742172.html Sent from the R help mailing list archive at Nabble.com.
Hi eric, See R> ?"%in%" and try the following (untested): subset(zeespan, !customer %in% c("ibm" , "exxon" , "sears") ) HTH, Jorge On Sat, Aug 13, 2011 at 7:44 PM, eric <> wrote:> I have a dataframe zeespan. One of the columns has the name "customer". The > data in the customer column is text. I would like to return a subset of the > dataframe with all rows that DON'T begin with either "ibm" or "exxon", or > "sears" in the customer column. > > I tried .... subset(zeespan, customer != c("ibm" | "exxon" | "sears") ) > > That didn't work and even if it did, the text would have to be an exact > match where what I really want is "begins with". > > Suggestions on how to do this would be appreciated > > -- > View this message in context: > http://r.789695.n4.nabble.com/How-do-I-subset-a-dataframe-tp3742172p3742172.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
Perhaps this: matches = grep("^ibm|sears|exxon", zeespan$customer, value=F) zee = zeespan[matches,] t On Aug 14, 2011, at 12:44 AM, eric wrote:> I have a dataframe zeespan. One of the columns has the name "customer". The > data in the customer column is text. I would like to return a subset of the > dataframe with all rows that DON'T begin with either "ibm" or "exxon", or > "sears" in the customer column. > > I tried .... subset(zeespan, customer != c("ibm" | "exxon" | "sears") ) > > That didn't work and even if it did, the text would have to be an exact > match where what I really want is "begins with". > > Suggestions on how to do this would be appreciated > > -- > View this message in context: http://r.789695.n4.nabble.com/How-do-I-subset-a-dataframe-tp3742172p3742172.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at 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.