[R] R grep & gsub issue - sign seems to be causing an issue...
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Mar 12 20:44:36 CET 2009
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, ripley at 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
More information about the R-help
mailing list