Farklı değerler depolayan bir veri çerçevem var. Örnek: Yapmak istediğim neBir veri çerçevesindeki iki sütunun ortalamasını hesaplayın
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
ve her satır için a$low
ortalamasını saklamak yeni bir sütun a$mean
yaratıyor. İşte
Ben nasıl elde şudur: Ben R içine ve genel olarak functionnal dilde biraz yeniyim, bu yüzden daha verimli/basit yolu olduğunu eminim Ancak
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)
Bunu başar.
Bunu en akıllı şekilde nasıl elde edebilirsiniz?
rowMeans kullanmamanın davranışı ne olurdu? NA 0 olarak alınacak mı? – Lovy
@LoveMetal Sadece şunu kontrol edin: "(c (3, NA), na.rm = TRUE) ve" (3 + 0)/2 " – akrun