Recoding all vectors in a dataframe at once (R)

This post is just a little reminder for myself, because i had to look this up a few times.
Version 1

[1] 5 4 3 5 3 4

[1] Stimme gar nicht zu  
Stimme eher nicht zu 
Teils / teils       
Stimme gar nicht zu  
Teils / teils        
Stimme eher nicht zu

I use „recode“ from the car package, to recode the variables. This function will be used with „apply“ so it will recode all vectors in the dataframe.

Here´s how it´s done:

df<- apply(df, 2, function(x) {
  x <- car::recode(x,"1='Stimme voll und ganz zu'; 2='Stimme eher zu';3='Teils / teils';4='Stimme eher nicht zu';5='Stimme gar nicht zu';9=NA"); x

Version 2
If you only want to recode some of the variables in you dataframe, you can define them in a list and use this list in a for-loop.

for (v in var.list)
  df[[v]]<-recode(df[[v]], "1=5;2=4;4=2;5=1")

Version 3
If the values just have to be reversed, there´s an even simpler way:

df[recode.list] <- 6 - df[recode.list]