Try this: #1 gsub(".*-", "", zzz)
#2 gsub("-.*", "", zzz) #3) gsub(".*-(.*)-.*", "\\1", zzz) On Mon, Aug 10, 2009 at 4:20 PM, Jun Shen <jun.shen...@gmail.com> wrote: > Henrique, > > This is a very nice approach. I wonder what if I have data like 2-172-45 > and want to break it down into three parts 2, 172 and 45. How do we use your > method to achieve it? Thanks. > > Jun > > On Mon, Aug 10, 2009 at 12:34 PM, Henrique Dallazuanna > <www...@gmail.com>wrote: > >> Try this: >> >> #1 >> gsub(".*-", "", zzz) >> >> #2 >> gsub("-.*", "", zzz) >> >> >> On Mon, Aug 10, 2009 at 1:56 PM, James Perkins >> <jperk...@biochem.ucl.ac.uk>wrote: >> >> > Dear all, >> > >> > I am trying to split a matrix into 2 as efficiently as possible. >> > >> > It is a character matrix: >> > >> > 1 2 3 1 "2-271" "2-367" "1-79" >> > 2 "2-282" "2-378" "1-90" >> > 3 "2-281" "2-377" "1-89" >> > >> > I want to make 2 matrices from this, as succinctly and efficiently as >> > possible. >> > >> > I've tried such things as sapply(matrix, strsplit, "-") and tried to go >> > from there, but I can't figure it out! So far I do it with a 2D for loop >> > which can't be efficient! >> > >> > firstPartM <- matrix(ncol= dim(zzz)[2], nrow= dim(zzz)[1]) >> > secondPartM <- matrix(ncol= dim(zzz)[2], nrow= dim(zzz)[1]) >> > for(i in 1:dim(zzz)[1]) { >> > for(j in 1:dim(zzz)[2]) { >> > splitS <- strsplit(zzz[i,j],"-") >> > firstPartM[i,j] <- splitS[[1]][1] >> > secondPartM[i,j] <- splitS[[1]][2] >> > } >> > } >> > >> > Cheers, >> > >> > Jim >> > >> > ______________________________________________ >> > 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. >> > >> >> >> >> -- >> Henrique Dallazuanna >> Curitiba-Paraná-Brasil >> 25° 25' 40" S 49° 16' 22" O >> >> [[alternative HTML version deleted]] >> >> >> ______________________________________________ >> 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. >> >> > > > -- > Jun Shen PhD > PK/PD Scientist > BioPharma Services > Millipore Corporation > 15 Research Park Dr. > St Charles, MO 63304 > Direct: 636-720-1589 > > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]
______________________________________________ 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.