Calcule la media de dos columnas en un marco de datos

Tengo un marco de datos que almacena diferentes valores. Muestra:

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

Lo que quiero hacer es crear una nueva columnaa$mean almacenar la media dea$high ya$low por cada fila.

Así es como lo logré:

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)

Sin embargo, soy un poco nuevo en R y en los lenguajes funcionales en general, así que estoy bastante seguro de que hay una manera más eficiente / simple de lograrlo.

¿Cómo lograr eso de la manera más inteligente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta