Hello together, i have a question for "substring". I know i can filter a number like this one: bill$No<-substring(bill$Customer,2,4) in this case i get the 2nd, 3rd and 4th number of my Customer ID. But how can i do this, if i want the 2nd, 3rd and 4th number of a column. Like this one. I have: Mercedes_02352 Audi_03555 and now i want to filter this data.frame to 235 355 can you help me? Thanks. Mat -- View this message in context: http://r.789695.n4.nabble.com/substring-from-behind-tp4657029.html Sent from the R help mailing list archive at Nabble.com.
Hi Mat, The following should get you started:> s <- "Mercedes_02352" > substr(s, nchar(s) - 3, nchar(s) - 1)[1] "235">> # defining a function > foo <- function(x, a = 3, b = 1) substr(s, nchar(x) - a, nchar(x) - b) > foo(s)[1] "235" HTH, Jorge.- On Wed, Jan 30, 2013 at 8:05 PM, Mat <> wrote:> Hello together, > > i have a question for "substring". > I know i can filter a number like this one: > bill$No<-substring(bill$Customer,2,4) > > in this case i get the 2nd, 3rd and 4th number of my Customer ID. > But how can i do this, if i want the 2nd, 3rd and 4th number of a column. > > Like this one. > I have: Mercedes_02352 > Audi_03555 > and now i want to filter this data.frame to > 235 > 355 > > can you help me? > > Thanks. > > Mat > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/substring-from-behind-tp4657029.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]]
Hi, You could use: dat1<-data.frame(col1=c("Mercedes_02352","Audi_03555")) dat1[,1]<-as.numeric(gsub(".*_\\d{1}(.*)\\d{1}$","\\1",dat1[,1])) #if the number of digits are the same ?dat1 #? col1 #1? 235 #2? 355 A.K. ----- Original Message ----- From: Mat <matthias.weber at fnt.de> To: r-help at r-project.org Cc: Sent: Wednesday, January 30, 2013 4:05 AM Subject: [R] substring from behind Hello together, i have a question for "substring". I know i can filter a number like this one: bill$No<-substring(bill$Customer,2,4) in this case i get the 2nd, 3rd and 4th number of my Customer ID. But how can i do this, if i want the 2nd, 3rd and 4th number of a column. Like this one. I have: Mercedes_02352 Audi_03555 and now i want to filter this data.frame to 235 355 can you help me? Thanks. Mat -- View this message in context: http://r.789695.n4.nabble.com/substring-from-behind-tp4657029.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.