Traitement de données évolutif en R
Simon Urbanek
Member of R-Core, Lead Inventive Scientist, AT&T Labs Research
# Create a random vector
x <- rnorm(100)
# Find the mean
mean(x)
-0.01996644
# Take the sum of chunks of
# the vector
sl <- Map(function(v) {
c(sum(v), length(v))},
list(x[1:25], x[26:100]))
# Add the sums and lengths
slr <- Reduce(`+`, sl)
# Find the mean
slr[1]/slr[2]
-0.01996644
Les opérations qui exigent toutes les données à la fois ne peuvent pas être calculées avec l'approche scinder‑appliquer‑combiner.
Exemple : médiane
Plusieurs algorithmes de régression peuvent s'écrire en termes de scinder‑appliquer‑combiner
Traitement de données évolutif en R