- A+

Category：Languages

I have a dataframe (in reality I have 170 columns (85 pairs) and ~8000 rows)

`data <- data.frame(A = c(6,5,4,3), B = c(2,2,2,2), C = c(9,8,7,6), D = c(2,2,2,2)) `

I would like to subtract column 2 from column 1, column 4 from column 3, etc. for all rows.

I think I need to either try to write a function or use apply in some way.

You can choose every other column with c(TRUE,FALSE) or its negation. The binary-minus has a dataframe method:

`data[c(TRUE,FALSE)] - data[c(FALSE,TRUE)] A C 1 4 7 2 3 6 3 2 5 4 1 4 `

If you wanted to name then meaningfull you could use `paste`

on the names:

` paste( names(data[c(TRUE,FALSE)]) , "_minus_", names( data[c(FALSE,TRUE)]) ) `