This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
makeCacheMatrix <- function(x = matrix()) {
i <- NULL ## Initialize the cached inverse to NULL
## Sets the matrix and resets the cached inverse.
set <- function(y) {
x <<- y
i <<- NULL ## Reset cached inverse when matrix changes
}
## Gets the matrix.
get <- function() x
## Sets the cached inverse.
setInverse <- function(inverse) i <<- inverse
## Gets the cached inverse.
getInverse <- function() i
## Returns a list of functions to set/get the matrix and its inverse.
list(set = set, get = get,
setInverse = setInverse,
getInverse = getInverse)
}
## Computes the inverse of the special "matrix" returned by makeCacheMatrix.
## If the inverse is already cached, it retrieves it from the cache.
cacheSolve <- function(x, ...) {
i <- x$getInverse() ## Attempt to retrieve the cached inverse
if(!is.null(i)) { ## Check if the inverse is already cached
message("getting cached data")
return(i) ## Return the cached inverse
}
data <- x$get() ## Get the matrix from the special object
i <- solve(data) ## Calculate the inverse
x$setInverse(i) ## Cache the calculated inverse
i ## Return the calculated inverse
}