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?