Removing intermediate data when it is no longer needed
In large R programs, objects are created in many places. Often, an object that is created in an earlier part of the program is not needed in later parts of the program. When faced with memory limits, it is useful to free up memory taken up by objects when they are no longer needed, so that subsequent parts of the program can run successfully.
The main tool for this is the rm()
function that removes a given list of objects from the current R environment.
In the following example, we have a data frame containing 500,000 transactions from a retail store and the items within each transaction. Each row of the data frame represents a unique transaction-item pair that occurred in a sales database. Although, we have to generate the data for this example in a real business context, this data could be extracted from a retailer's sales database:
trans.lengths <- rpois(5e5, 3) + 1L trans <- rep.int(1:5e5, trans.lengths) items <- unlist(lapply...