Problema
Deseamos calcular la media ponderada de un conjunto de datos con R
Solución
Utilizamos al función weighted.mean del paquete base.
wt <- c(5, 5, 4, 1)/15 # No es necesario dividir entre 15
x <- c(3.7, 3.3, 3.5, 2.8)
xm <- weighted.mean(x, wt)
[1] 3.453333
library(dplyr)
# Si queremos calcular el total
with(ChickWeight, weighted.mean(weight, Time))
# Por grupo
ChickWeight %>%
group_by(Diet) %>%
summarise(mean = mean(weight), wm = weighted.mean(weight, Time))
# A tibble: 4 x 3
Diet mean wm
1 1 103. 132.
2 2 123. 159.
3 3 143. 191.
4 4 135. 176.
Entradas relacionadas
No hay comentarios:
Publicar un comentario