[R-lang] Re: swapping values without temporary storage

Hofmeister, Philip phofme@essex.ac.uk
Tue Apr 15 11:12:39 PDT 2014


Thanks, guys! I now have, uh, 4 workable solutions. I love how R gives you 18 different ways of doing the same thing . . . 

On Apr 15, 2014, at 7:05 PM, João Veríssimo wrote:

> Perhaps rev() can help?
> 
> Maybe something like:
> 
> x <- c("a", "b", "c")
> c(x[1], rev(x[2:3]))
> 
> João
> On Tue, 2014-04-15 at 17:52 +0000, Hofmeister, Philip wrote:
>> this is probably more appropriate for a general R listserv, but i'm more likely to get an answer i can decipher here. apologies also for what is likely a simple fix, but i can't seem to find the right term or syntax to get this to work without writing ugly code.
>> 
>> i want to swap values in a vector, e.g. 
>> 
>> x <- c(1, 2, 3)
>> [1] 1 2 3
>> 
>> and get back 
>> 
>> 1 3 2 
>> 
>> i can do this by saving the 2nd or 3rd element of the vector elsewhere, replacing one of the vector elements (x[3] <- x[2]), and then restoring the stored value, but that seems wasteful. surely there is a function like swap() or  std::swap(a, b), but i can't seem to find anything. anyone have any ideas? 
>> 
>> ph
>> 
>> 
>> 
> 
> 




More information about the ling-r-lang-L mailing list