Hi, I have the following data that looks like this:> names(dat)[1] "(-2329,-2319]" "(-1399,-1389]" "(-669.4,-659.4]" How can I modify those names into just this? [1] -2329 -1399 -669.4 - Gundala Viswanath Jakarta - Indonesia
> dat <- c(1,2,3)> names(dat) <- c(-2329, -1399, -669.4) > dat -2329 -1399 -669.4 1 2 3 -- David Winsemius On Feb 25, 2009, at 9:55 PM, Gundala Viswanath wrote:> Hi, > > I have the following data that looks like this: > >> names(dat) > [1] "(-2329,-2319]" "(-1399,-1389]" "(-669.4,-659.4]" > > How can I modify those names into just this? > > [1] -2329 -1399 -669.4 > > > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > 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.
On 26/02/2009, at 4:15 PM, David Winsemius wrote:>> dat <- c(1,2,3) > >> names(dat) <- c(-2329, -1399, -669.4) >> dat > -2329 -1399 -669.4 > 1 2 3 > > > -- > David Winsemius > On Feb 25, 2009, at 9:55 PM, Gundala Viswanath wrote: > >> Hi, >> >> I have the following data that looks like this: >> >>> names(dat) >> [1] "(-2329,-2319]" "(-1399,-1389]" "(-669.4,-659.4]" >> >> How can I modify those names into just this? >> >> [1] -2329 -1399 -669.4I would imagine that what is wanted is slightly (!) more general. Something along the lines of: sapply(strsplit(names(dat),","),function(x){gsub("\\(","",x[1])}) Someone who knows more about regular expressions could doubtless do this much more slickly, just using gsub() and without recourse to strsplit(), but the foregoing works. cheers, Rolf Turner ###################################################################### Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
Hi, I got this problem once, and Prof. Ripley kindly added an example in the help page of ?cut,> > aaa <- c(1,2,3,4,5,2,3,4,5,6,7) > > ## one way to extract the breakpoints > labs <- levels(cut(aaa, 3)) > cbind(lower = as.numeric( sub("\\((.+),.*", "\\1", labs) ), > upper = as.numeric( sub("[^,]*,([^]]*)\\]", "\\1", labs) )) > lower upper > [1,] 0.994 3.00 > [2,] 3.000 5.00 > [3,] 5.000 7.01Hope this helps, baptiste On 26 Feb 2009, at 02:55, Gundala Viswanath wrote:> Hi, > > I have the following data that looks like this: > >> names(dat) > [1] "(-2329,-2319]" "(-1399,-1389]" "(-669.4,-659.4]" > > How can I modify those names into just this? > > [1] -2329 -1399 -669.4 > > > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > 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 ______________________________ [[alternative HTML version deleted]]