Calcular a média de duas colunas em um dataframe

Eu tenho um dataframe armazenando valores diferentes. Amostra:

a$open  a$high  a$low   a$close

1.08648 1.08707 1.08476 1.08551
1.08552 1.08623 1.08426 1.08542
1.08542 1.08572 1.08453 1.08465
1.08468 1.08566 1.08402 1.08554
1.08552 1.08565 1.08436 1.08464
1.08463 1.08543 1.08452 1.08475
1.08475 1.08504 1.08427 1.08436
1.08433 1.08438 1.08275 1.08285
1.08275 1.08353 1.08275 1.08325
1.08325 1.08431 1.08315 1.08378
1.08379 1.08383 1.08275 1.08294
1.08292 1.08338 1.08271 1.08325

O que eu quero fazer é criar uma nova colunaa$mean armazenando a média dea$high ea$low para cada linha.

Aqui está como eu consegui isso:

highlowmean <- function(highs, lows){
  m <- vector(mode="numeric", length=0)
  for (i in 1:length(highs)){
    m[i] <- mean(highs[i], lows[i])
  }
  return(m)
}

a$mean <- highlowmean(a$high, a$low)

No entanto, sou um pouco novo em R e em linguagens funcionais em geral, por isso tenho certeza de que existe uma maneira mais eficiente / simples de conseguir isso.

Como conseguir isso da maneira mais inteligente?