How to swap values between two columns

Try this

 df <- data.frame(V1=c(1,2,4), V2=c("a","a","b"), V3=c(2,3,1))
 df[df$V2 == "b", c("V1", "V3")] <- df[df$V2 == "b", c("V3", "V1")] 

which yields:

> df
  V1 V2 V3
1  1  a  2
2  2  a  3
3  1  b  4

Leave a Comment