apply()
function in R
In R programming, the apply()
function is applied to a matrix, array, or data frame in a specified margin (i.e., row or column). The apply()
function takes three arguments:
- The data structure to be operated on.
- The margin (1 for rows, 2 for columns).
- The function to be applied.
Parameters
- X: matrix, array, or data frame to operate on.
- MARGIN: The margin along which the function is to be applied (i.e., 1 for rows or 2 for columns).
- FUN: The function to apply to the matrix, array, or data frame.
Return Value
The apply()
function returns a matrix or an array, depending on the input data structure and the margin specified. If MARGIN=1
, the function returns a vector or matrix, where each row corresponds to the output of the applied function for that row. If MARGIN=2
, the function returns a vector or matrix, where each column corresponds to the output of the applied function for that column.
Code Example
Suppose you have a matrix of sales data, where each row represents a salesperson and each column represents a month. You want to calculate the total sales for each salesperson. Here’s how you can use apply() to achieve this:
# create sample data
sales_data <- matrix(c(1000, 2000, 1500, 3000, 2500, 2000, 4000, 3000, 3500, 2500, 3000, 3500), nrow=4)
# calculate total sales for each salesperson
sales_total <- apply(sales_data, 1, sum)
sales_total
Line#2: Creates a 4×3 matrix called sales_data
containing sales data for 4 salespeople and 3 months. The matrix is created using the matrix()
function, which takes a vector of values (c(1000, 2000, 1500, ...)
), the number of rows (nrow=4
), and other optional arguments.
Line#5, 6: calculates the total sales for each salesperson by applying the sum()
function across the rows (MARGIN=1)
of the sales_data matrix using the apply()
function. The result is a vector containing the total sales for each salesperson, which is assigned to the sales_total variable. Finally, the sales_total vector is printed to the console.
Output
