Pastafarianist

cachevector.R

Jul 28th, 2014
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 0.62 KB | None | 0 0
  1. makeVector <- function(x = numeric()) {
  2.         m <- NULL
  3.         set <- function(y) {
  4.                 x <<- y
  5.                 m <<- NULL
  6.         }
  7.         get <- function() x
  8.         setmean <- function(mean) m <<- mean
  9.         getmean <- function() m
  10.         list(set = set, get = get,
  11.              setmean = setmean,
  12.              getmean = getmean)
  13. }
  14.  
  15.  
  16. cachemean <- function(x, ...) {
  17.         m <- x$getmean()
  18.         if(!is.null(m)) {
  19.                 message("getting cached data")
  20.                 return(m)
  21.         }
  22.         data <- x$get()
  23.         m <- mean(data, ...)
  24.         x$setmean(m)
  25.         m
  26. }
Add Comment
Please, Sign In to add comment