データフレームに異なる値を格納しています。サンプル:データフレーム内の2つの列の平均を計算する
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
私が何をしたいのか、a$high
各行についてa$low
の平均値を格納し、新しい列a$mean
を作成しています。
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)
は、しかし、私は少しRに新しいと一般的にfunctionnal言語でので、私はより効率的/簡単な方法があることをかなり確信している:ここで
は私がいることを達成する方法でありますそれを達成する。
どのように賢明な方法を達成するには?
rowMeansを使用しない場合の動作は何ですか? NAは0と見なされますか? – Lovy
@LoveMetal 'mean(c(3、NA)、na.rm = TRUE)'と '(3 + 0)/ 2'をチェックしてください – akrun