54 lines
1.5 KiB
R
54 lines
1.5 KiB
R
|
# Creating a matrix for demonstration
|
||
|
matrix_data <- matrix(1:9, nrow=3, byrow=TRUE)
|
||
|
print("Original Matrix:")
|
||
|
print(matrix_data)
|
||
|
|
||
|
# Using apply on a matrix
|
||
|
# -----------------------
|
||
|
# Sum of each row
|
||
|
row_sums <- apply(matrix_data, 1, sum)
|
||
|
print("Sum of each row:")
|
||
|
print(row_sums)
|
||
|
|
||
|
# Sum of each column
|
||
|
col_sums <- apply(matrix_data, 2, sum)
|
||
|
print("Sum of each column:")
|
||
|
print(col_sums)
|
||
|
|
||
|
# Creating a list for demonstration
|
||
|
list_data <- list(a = 1:5, b = 6:10, c = 11:15)
|
||
|
print("Original List:")
|
||
|
print(list_data)
|
||
|
|
||
|
# Using lapply on a list
|
||
|
# ----------------------
|
||
|
# Compute the mean of each element in the list
|
||
|
list_means <- lapply(list_data, mean)
|
||
|
print("Mean of each list element:")
|
||
|
print(list_means)
|
||
|
|
||
|
# Using sapply on a list
|
||
|
# ----------------------
|
||
|
# sapply simplifies the result to a vector or matrix if possible
|
||
|
list_means_simplified <- sapply(list_data, mean)
|
||
|
print("Simplified mean of each list element:")
|
||
|
print(list_means_simplified)
|
||
|
|
||
|
# Using vapply on a list
|
||
|
# ----------------------
|
||
|
# vapply allows for specifying the type of return value, making it safer than sapply
|
||
|
list_means_vapply <- vapply(list_data, mean, numeric(1))
|
||
|
print("Vapply mean of each list element:")
|
||
|
print(list_means_vapply)
|
||
|
|
||
|
# Creating a vector and factor for demonstration
|
||
|
vector_data <- c(1, 2, 3, 4, 5, 6)
|
||
|
factor_data <- gl(2, 3, labels = c("Group1", "Group2"))
|
||
|
|
||
|
# Using tapply on a vector
|
||
|
# ------------------------
|
||
|
# Apply a function over subsets of a vector
|
||
|
group_means <- tapply(vector_data, factor_data, mean)
|
||
|
print("Mean of vector elements by group:")
|
||
|
print(group_means)
|