On Thu, 12 Mar 2009, Duncan Murdoch wrote:
Jason Rupert wrote:
I would like to use grep and gsub to manipulate a vector to make the names
used consistent, i.e. reduce a level or two.
This is dangerous: grep and gsub use regular expressions, so a lot of
characters (see ?regexp for the list) have special meanings.
Unless argument fixed=TRUE< which is often useful.
For the kind of substitutions you want, just do things like
newlist <- tmp_test
newlist[newlist == tmp_test[2]] <- tmp_test[1]
Duncan Murdoch
However, here is what I found when I attempted to use grep and gsub:
tmp_test<-c("House 1 Plot Plus +100","House 2 Plot Plus +100","House 3
Plot Plus -100","House 4 Plot Plus -100","House 1 Plus +100","House 2 Plus
+100","House 3 Plus -100","House 4 Plus -100")
gsub(tmp_test[2], tmp_test[1], tmp_test)
[1] "House 1 Plot Plus +100" "House 2 Plot Plus +100" "House 3 Plot Plus
-100" "House 4 Plot Plus -100" "House 1 Plus +100" "House 2 Plus +100"
[7] "House 3 Plus -100" "House 4 Plus -100"
grep(tmp_test[1],tmp_test)
integer(0)
However,
gsub(tmp_test[3], tmp_test[1], tmp_test)
[1] "House 1 Plot Plus +100" "House 2 Plot Plus +100" "House 1 Plot Plus
+100" "House 4 Plot Plus -100" "House 1 Plus +100" "House 2 Plus +100"
[7] "House 3 Plus -100" "House 4 Plus -100"
Thanks for any feedback that can be provided.
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
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.