Sottrarre una colonna in un dataframe da molte colonne in R

Ho un dataframe. Vorrei sottrarre la seconda colonna da tutte le altre colonne. Posso farlo in un ciclo, ma mi piacerebbe farlo in una sola chiamata. Ecco il mio codice di loop di lavoro:

df <- data.frame(x = 100:101, y = 2:3,z=3:4,a = -1:0,b=4:5) for( i in 3:length(df) ) { df[i] <- df[i] - df[2] } 

Se devi sottrarre le colonne 3:ncol(df) dalla seconda colonna

 df[3:ncol(df)] <- df[3:ncol(df)]-df[,2] 

Funzionerebbe anche – restituisce le 9 colonne da cui hai sottratto la seconda.

  df = data.frame(matrix(rnorm(100,0,1),nrow = 10)) df[,-2] - df[,2]